:root{--ls-primary: #008891;--ls-primary-hover: #0099a0;--ls-accent: #00c0cc;--ls-error: #f56a14;--ls-bg: #f7fafa;--ls-surface: #ffffff;--ls-border: #e2e8ea;--ls-text: #1d1f23;--ls-muted: #6b7a83;--ls-bg-footer: #f9fbfc;--fs-sm: .875rem;--fs-md: 1rem;--fs-lg: 1.25rem;--fs-xl: 1.5rem;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px}@media(prefers-color-scheme:dark){:root{--ls-primary: #00a4af;--ls-primary-hover: #00b6c1;--ls-accent: #16d5e1;--ls-error: #ff7e32;--ls-bg: #121617;--ls-surface: #1b1f20;--ls-border: #2b2f30;--ls-text: #e8eaea;--ls-muted: #8a9398;--ls-bg-footer: #121617}}.btn-primary{display:inline-flex;align-items:center;gap:.4rem;text-decoration:none;background:var(--ls-primary);border:1px solid var(--ls-primary);color:#fff;padding:.55rem 1.1rem;border-radius:4px;font-weight:600;line-height:1;cursor:pointer;transition:background .12s,transform 60ms}.btn-primary:hover{background:var(--ls-primary-hover)}.btn-primary:focus{outline:2px solid var(--ls-accent);outline-offset:2px}.btn-primary:active{transform:translateY(1px);opacity:.9}.btn-primary:disabled{background:var(--ls-border);border-color:var(--ls-border);color:var(--ls-muted);cursor:not-allowed}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.thumbnail-enter{animation:fadeSlideUp .15s ease-out both}.preview-enter{animation:fadeIn .12s ease-out both}.toast-container{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--ls-text);color:#fff;padding:8px 16px;border-radius:4px;box-shadow:0 2px 6px #00000026;font-size:14px;z-index:9999}@media(prefers-color-scheme:dark){.toast-container{background:var(--ls-surface);color:var(--ls-text)}}.toast-enter{animation:fadeSlideUp .2s ease-out both}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100vh;margin:0;overflow:hidden}html,body{padding:0;width:100%;font-family:system-ui,sans-serif;font-size:var(--fs-md);background:var(--ls-bg);color:var(--ls-text)}#root{display:flex;flex-direction:column}h1,h2,h3{font-weight:600;line-height:1.3;margin:0}h1{font-size:var(--fs-xl);display:flex;align-items:center;gap:var(--sp-2)}h2{font-size:var(--fs-lg);margin-top:var(--sp-4)}p{margin:0 0 var(--sp-3)}.caption{font-size:var(--fs-sm);color:var(--ls-muted)}h1 .logo{width:32px;height:32px;display:inline-block}.flex-row{display:flex;align-items:center}.flex-space{display:flex;align-items:center;justify-content:space-between}.gap-1{gap:var(--sp-1)}.gap-2{gap:var(--sp-2)}.gap-3{gap:var(--sp-3)}.text-center{text-align:center}.mx-auto{margin-left:auto;margin-right:auto}.pad-4{padding:var(--sp-4)}.sticky-header{position:sticky;top:0;background:var(--ls-bg);z-index:1}.main-area{flex:1 1 0;display:flex;overflow:hidden}.split{flex:1 1 0;display:flex;min-width:0;min-height:0;overflow:hidden}.split>*{flex-grow:0!important;flex-shrink:0!important;min-width:0;min-height:0;overflow:hidden}.gallery-pane,.preview-pane{overflow:auto}.gutter{background:var(--ls-border)}.gutter-horizontal{width:6px;cursor:col-resize}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-thumb{background:var(--ls-border);border-radius:4px}img{-webkit-user-drag:none}.app-footer{position:sticky;bottom:0;width:100%;min-height:44px;background:var(--ls-bg-footer);color:var(--ls-text);border-top:1px solid var(--ls-border);text-align:center;padding:6px var(--sp-4);display:grid;place-items:center}@media(prefers-color-scheme:dark){.app-footer a{color:var(--ls-primary)}.app-footer a:hover{color:var(--ls-primary-hover)}}.container{max-width:880px;margin:0 auto;padding:var(--sp-4);line-height:1.6}.prose h1{font-size:var(--fs-xl);margin-bottom:var(--sp-3)}.prose h2{font-size:var(--fs-lg);margin:var(--sp-4) 0 var(--sp-2)}.prose h3{font-weight:600;margin:var(--sp-3) 0 var(--sp-1)}.prose p,.prose li{font-size:var(--fs-md)}.prose table{width:100%;border-collapse:collapse;margin:var(--sp-3) 0}.prose th,.prose td{border:1px solid var(--ls-border);padding:var(--sp-2);text-align:left}.prose th{background:var(--ls-surface)}.prose a{color:var(--ls-primary);text-decoration:underline}.prose a:hover{color:var(--ls-primary-hover)}.topbar{background:var(--ls-bg);border-bottom:1px solid var(--ls-border);box-shadow:0 1px 3px #0000000a;position:sticky;top:0;z-index:40}.shadow-sm{box-shadow:0 1px 3px #00000014}.prose table tr:nth-child(2n){background:var(--ls-surface)}.prose table th,.prose table td{border-radius:4px 4px 0 0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;justify-content:center;align-items:center;z-index:80;animation:fadeIn .2s}.modal-box{width:min(880px,90%);max-height:90vh;overflow:auto;background:var(--ls-bg);color:inherit;padding:var(--sp-4);border-radius:8px;box-shadow:0 8px 16px #00000026}.modal-close{position:absolute;top:var(--sp-3);right:var(--sp-3);background:none;border:none;font-size:1.5rem;cursor:pointer}.gallery-placeholder{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#7a869a;text-align:center;line-height:1.6;font-size:1.05rem;-webkit-user-select:none;user-select:none;pointer-events:none}.gallery{position:relative}.preview-placeholder{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#7a869a;text-align:center;line-height:1.6;font-size:1.1rem;-webkit-user-select:none;user-select:none;pointer-events:none;white-space:pre-line}.preview-wrapper{position:relative;height:100%;display:flex;justify-content:center;align-items:flex-start;overflow:hidden}.preview-wrapper img{max-width:100%;max-height:100%;object-fit:contain}.gallery.drag-in:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#00000040;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);z-index:70;pointer-events:none;animation:fadeIn .15s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.gallery.drag-over{border-color:var(--ls-primary);background:#619cff14;transition:background .15s,border-color .15s}.app-header{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:color-mix(in srgb,var(--ls-bg) 92%,transparent)}.header-inner{max-width:1400px;margin:0 auto;gap:var(--sp-3)}.brand-title{font-size:clamp(1.05rem,1.4vw,1.35rem)}.header-actions{flex-wrap:wrap;justify-content:flex-end}.main-area{flex-direction:column}.app-status-bar{display:flex;gap:var(--sp-3);flex-wrap:wrap;align-items:center;padding:8px 16px;border-bottom:1px solid var(--ls-border);color:var(--ls-muted);font-size:var(--fs-sm);background:var(--ls-surface)}.landing-main{flex:1;display:grid;place-items:center;padding:24px;overflow:auto}.landing-card{width:min(760px,100%);border:1px solid var(--ls-border);border-radius:16px;background:linear-gradient(180deg,var(--ls-surface) 0%,var(--ls-bg) 100%);padding:clamp(20px,4vw,36px);box-shadow:0 10px 24px #00000014}.landing-kicker{display:inline-block;font-size:var(--fs-sm);color:var(--ls-primary);font-weight:700;letter-spacing:.04em;margin-bottom:8px}.landing-title{margin-bottom:12px;font-size:clamp(1.4rem,2.6vw,2rem)}.landing-subtitle{margin-bottom:10px;color:var(--ls-text);font-weight:600;line-height:1.6}.landing-description{color:var(--ls-muted);line-height:1.8}.landing-start{margin:12px 0 14px}.landing-points{margin:0;padding-left:18px;color:var(--ls-text);line-height:1.8}.landing-section{margin-top:18px;border-top:1px solid var(--ls-border);padding-top:14px}.landing-section-title{margin:0 0 10px;font-size:clamp(1rem,1.9vw,1.18rem)}.landing-steps,.landing-trust-list{margin:0;padding-left:20px;line-height:1.8}@media(max-width:900px){html,body,#root{overflow:auto}.split{flex-direction:column}.gutter-horizontal{width:100%;height:6px;cursor:row-resize}}.privacy-page{flex:1;overflow:auto;padding:24px;display:grid;place-items:start center}.privacy-card{width:min(920px,100%);border:1px solid var(--ls-border);background:var(--ls-bg);border-radius:14px;padding:clamp(18px,3vw,30px);box-shadow:0 8px 18px #0000000f}.privacy-header{border-bottom:1px solid var(--ls-border);padding-bottom:14px;margin-bottom:14px}.privacy-kicker{margin:0 0 6px;font-size:var(--fs-sm);color:var(--ls-primary);font-weight:700;letter-spacing:.04em}.privacy-summary{margin-top:8px;color:var(--ls-muted);line-height:1.7}.privacy-badge{margin-top:10px;display:inline-block;background:color-mix(in srgb,var(--ls-primary) 12%,transparent);color:var(--ls-primary);border:1px solid color-mix(in srgb,var(--ls-primary) 45%,var(--ls-border));border-radius:999px;padding:4px 10px;font-size:var(--fs-sm);font-weight:600}.privacy-section{padding:8px 0}.privacy-section h2{margin:0 0 8px}.privacy-section p{margin:0;line-height:1.8}
