:root{--bg:#08090a;--bg-elevated:#0f1011;--bg-surface:#191a1b;--border:#ffffff14;--border-subtle:#ffffff0d;--text:#f7f8f8;--text-dim:#8a8f98;--text-faint:#62666d;--accent:#7170ff;--accent-bg:#5e6ad2;--accent-hover:#828fff;--danger:#f97066;--success:#27a644;--radius:8px;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-feature-settings:"cv01", "ss03";letter-spacing:-.01em;min-height:100vh;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Pretendard,Malgun Gothic,sans-serif;font-weight:400}#root{min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover);text-decoration:underline}.shell{max-width:880px;margin:0 auto;padding:32px 20px 80px}.topbar{justify-content:space-between;align-items:center;margin-bottom:32px;display:flex}.brand{letter-spacing:-.02em;align-items:center;gap:10px;font-size:1.05rem;font-weight:590;display:flex}.brand .dot{background:var(--accent-bg);border-radius:50%;width:10px;height:10px;box-shadow:0 0 12px #7170ff80}.userchip{color:var(--text-dim);align-items:center;gap:10px;font-size:.85rem;display:flex}.navlinks{align-items:center;gap:20px;display:flex}.navlink{color:var(--text-dim);font-size:.85rem;font-weight:510}.navlink:hover{color:var(--text);text-decoration:none}.navlink.active{color:var(--text)}button,.btn{border:1px solid var(--border);cursor:pointer;color:var(--text);background:#ffffff08;border-radius:6px;padding:9px 16px;font-family:inherit;font-size:.88rem;font-weight:510;transition:background .15s,border-color .15s}button:hover,.btn:hover{background:#ffffff0f}button:active{transform:scale(.98)}button:disabled{opacity:.5;cursor:not-allowed}button[type=submit],.btn-primary{background:var(--accent-bg);border-color:var(--accent-bg);color:#fff}button[type=submit]:hover,.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-ghost{color:var(--text-dim);border:1px solid var(--border);background:#ffffff05}.btn-danger{color:var(--danger);background:0 0;border-color:#f9706659}.btn-danger:hover{background:#f9706614}.btn-sm{padding:5px 11px;font-size:.78rem}.card{border:1px solid var(--border);border-radius:var(--radius);background:#ffffff05;margin-bottom:20px;padding:22px}.card h2{letter-spacing:-.01em;margin:0 0 4px;font-size:1rem;font-weight:590}.card .sub{color:var(--text-dim);margin-bottom:16px;font-size:.82rem}label{color:var(--text-dim);margin:14px 0 6px;font-size:.82rem;display:block}label:first-child{margin-top:0}input[type=text],input[type=password]{border:1px solid var(--border);width:100%;color:var(--text);background:#ffffff05;border-radius:6px;padding:10px 12px;font-family:inherit;font-size:.95rem}input:focus{border-color:var(--accent);outline:none}.center-auth{max-width:380px;margin:10vh auto 0}.center-auth .card{padding:28px}.center-auth h1{text-align:center;letter-spacing:-.02em;margin-bottom:4px;font-size:1.3rem;font-weight:590}.center-auth .tagline{text-align:center;color:var(--text-dim);margin-bottom:24px;font-size:.85rem}.center-auth button[type=submit]{width:100%;margin-top:18px}.center-auth .switch{text-align:center;color:var(--text-dim);margin-top:16px;font-size:.85rem}.google-btn{color:#1f1f1f;background:#fff;border:1px solid #dadce0;justify-content:center;align-items:center;gap:10px;width:100%;margin-top:18px;display:flex}.google-btn:hover{background:#f7f7f7}.error-box{color:#ff9d94;background:#f9706614;border:1px solid #f970664d;border-radius:8px;margin-top:14px;padding:10px 14px;font-size:.85rem}.flash-box{color:#6fd98a;background:#27a6441a;border:1px solid #27a64459;border-radius:8px;margin-bottom:14px;padding:10px 14px;font-size:.85rem}.list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.list-item{border:1px solid var(--border);background:#ffffff05;border-radius:6px;justify-content:space-between;align-items:center;padding:10px 14px;font-size:.88rem;display:flex}.list-item .name{font-family:var(--mono);color:var(--accent)}.list-item .meta{color:var(--text-dim);font-size:.78rem}.list-item .actions{gap:8px;display:flex}.empty-hint{color:var(--text-dim);padding:6px 0;font-size:.85rem}.link-form{gap:10px;margin-top:14px;display:flex}.link-form input{flex:1}.editor-shell textarea{border:1px solid var(--border);width:100%;min-height:320px;color:var(--text);font-family:var(--mono);resize:vertical;tab-size:4;background:#ffffff05;border-radius:8px;padding:16px;font-size:.88rem;line-height:1.5}.editor-shell textarea:focus{border-color:var(--accent);outline:none}.signature-hint{border:1px solid var(--border);color:var(--text-dim);background:#ffffff05;border-radius:6px;margin-top:12px;padding:12px 14px;font-size:.8rem;line-height:1.6}.signature-hint code{color:#a9a8ff;font-family:var(--mono);background:#7170ff1f;border-radius:4px;padding:1px 6px}.row{align-items:center;gap:10px;display:flex}.row.between{justify-content:space-between}.spacer{flex:1}.loading{color:var(--text-dim);text-align:center;padding:40px}.guide-shell{max-width:920px}.guide-shell h2{letter-spacing:-.01em;margin:0 0 14px;font-size:1.05rem;font-weight:590}.guide-shell h3{color:var(--text);margin:18px 0 8px;font-size:.92rem;font-weight:590}.guide-shell section{margin-bottom:4px}.arch-container{border:1px solid var(--border);background:#ffffff04;border-radius:8px;padding:14px;overflow-x:auto}.arch-svg{width:100%;min-width:700px;display:block}.guide-table{border-collapse:collapse;width:100%;margin:10px 0;font-size:.84rem}.guide-table th,.guide-table td{text-align:left;border-bottom:1px solid var(--border);padding:8px 10px}.guide-table th{color:var(--text-dim);text-transform:uppercase;letter-spacing:.03em;font-size:.72rem;font-weight:510}.guide-table td{color:var(--text)}.guide-table td b{font-family:var(--mono);color:var(--accent)}.guide-steps{counter-reset:step;margin:0;padding:0;list-style:none}.guide-steps li{counter-increment:step;color:var(--text);margin-bottom:12px;padding-left:34px;font-size:.87rem;position:relative}.guide-steps li:before{content:counter(step);border:1px solid var(--success);color:#4ade80;background:#27a6441f;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:.72rem;font-weight:590;display:flex;position:absolute;top:-1px;left:0}.guide-pre{border:1px solid var(--border);color:var(--text);font-size:.82rem;font-family:var(--mono);background:#ffffff05;border-radius:6px;margin:10px 0;padding:14px 16px;line-height:1.55;overflow-x:auto}.note{color:#fcd34d;background:#fbbf240f;border-left:3px solid #fbbf24;border-radius:0 8px 8px 0;margin:10px 0;padding:10px 14px;font-size:.82rem}.guide-shots{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:14px;display:grid}.guide-shots figure{border:1px solid var(--border);background:#ffffff05;border-radius:8px;margin:0;overflow:hidden}.guide-shots img{width:100%;display:block}.guide-shots figcaption{color:var(--text-dim);border-top:1px solid var(--border);padding:8px 10px;font-size:.74rem}.guide-plain-list{color:var(--text);margin:8px 0 16px;padding-left:20px;font-size:.87rem;line-height:1.7}.guide-plain-list li{margin-bottom:4px}.guide-plain-list code{color:#a9a8ff;font-family:var(--mono);background:#7170ff1f;border-radius:4px;padding:1px 6px;font-size:.85em}
