body{overflow:hidden}#root{height:100vh}a{color:inherit}code{font-family:var(--font-mono);background:var(--sunken);border-radius:5px;padding:1px 5px;font-size:.88em}.boot{background:var(--page);height:100vh}.spacer{flex:1}.dot{color:var(--ink-3)}.fine{color:var(--ink-3);font-size:13px}.error{color:var(--danger);font-size:14px}.btn.wide{width:100%}.icon-btn{width:34px;height:34px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:999px;flex:none;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--hover);color:var(--ink)}.icon-btn.small{width:24px;height:24px}.link-btn{color:var(--ink-2);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;font-size:12px;display:inline-flex}.link-btn:hover{color:var(--ink)}.avatar{color:#fff;font-family:var(--font-display);letter-spacing:.02em;-webkit-user-select:none;user-select:none;border-radius:999px;flex:none;place-items:center;display:inline-grid}.badge{border:1px solid var(--line);height:20px;color:var(--ink-2);background:var(--card);border-radius:999px;align-items:center;gap:4px;padding:0 7px;font-size:11px;display:inline-flex}.badge.vis-public{border-color:color-mix(in srgb, var(--violet) 35%, var(--line));color:var(--violet)}.version-chip{background:var(--sunken);color:var(--ink-2);font-size:11px;font-family:var(--font-mono);border-radius:6px;padding:1px 6px}.anchor{position:relative}.popover{z-index:40;background:var(--raised);border:1px solid var(--line);min-width:200px;box-shadow:var(--shadow-l);border-radius:12px;padding:6px;animation:.12s ease-out pop;position:absolute;top:calc(100% + 6px);left:0}@keyframes pop{0%{opacity:0;transform:translateY(-4px)}}.popover.right{left:auto;right:0}.popover.up{top:auto;bottom:calc(100% + 6px)}.menu button,.menu a{text-align:left;cursor:pointer;width:100%;color:var(--ink);background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:7px 10px;font-size:14px;text-decoration:none;display:flex}.menu button:hover,.menu a:hover{background:var(--hover)}.menu .danger{color:var(--danger)}.menu .current{background:var(--sunken)}.menu-note{color:var(--ink-3);padding:6px 10px 8px;font-size:12px}.menu.versions{width:340px;max-height:60vh;overflow:auto}.menu.versions button{align-items:flex-start}.menu .v{font-family:var(--font-mono);color:var(--ink-2);min-width:28px;padding-top:2px;font-size:12px}.v-text{display:grid}.v-text small{color:var(--ink-3);font-size:12px}.scrim{z-index:60;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#08080a66;place-items:center;padding:24px;animation:.14s ease-out fade;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.dialog{background:var(--card);border:1px solid var(--line);width:min(460px,100%);max-height:calc(100vh - 48px);box-shadow:var(--shadow-l);border-radius:18px;overflow:auto}.dialog.wide{width:min(600px,100%)}.dialog .accent-rule{border-radius:0}.dialog-head{justify-content:space-between;align-items:center;padding:20px 20px 4px 24px;display:flex}.dialog-head h2{font-size:21px}.dialog-body{gap:14px;padding:12px 24px;display:grid}.dialog-foot{justify-content:flex-end;gap:10px;padding:12px 24px 22px;display:flex}.field{gap:6px;display:grid}.field>span{color:var(--ink-2);font-size:13px}.field input,.field select,.paste,.key-form input,.share-link input{border:1px solid var(--line);background:var(--card);border-radius:10px;outline:none;height:38px;padding:0 12px}.field input:focus,.field select:focus,.paste:focus,.key-form input:focus{border-color:var(--focus)}.paste{height:90px;font-family:var(--font-mono);resize:vertical;padding:10px 12px;font-size:12px}.dropzone{border:1.5px dashed var(--line-strong);height:96px;color:var(--ink-2);cursor:pointer;background:var(--page);border-radius:14px;justify-content:center;align-items:center;gap:12px;transition:border-color .12s,background .12s;display:flex}.dropzone input{display:none}.dropzone b{color:var(--ink);font-weight:400}.dropzone.over{border-color:var(--violet);background:color-mix(in srgb, var(--violet) 6%, var(--page))}.dropzone.filled{background:var(--accent-soft);border-style:solid}.segmented{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.segmented button{border:1px solid var(--line);background:var(--card);text-align:left;cursor:pointer;border-radius:11px;align-items:flex-start;gap:8px;padding:10px;display:flex}.segmented button svg{flex:none;margin-top:3px}.segmented button span{display:grid}.segmented b{font-size:14px;font-weight:400}.segmented small{color:var(--ink-3);font-size:11.5px;line-height:1.35}.segmented button.on{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}#toast{z-index:80;opacity:0;background:var(--button);color:var(--button-ink);pointer-events:none;border-radius:999px;padding:9px 16px;font-size:14px;transition:opacity .16s,transform .16s;position:fixed;bottom:28px;left:50%;transform:translate(-50%,16px)}#toast.on{opacity:1;transform:translate(-50%)}.signin{background:radial-gradient(1200px 600px at 85% -10%, #674ffc24, transparent 60%), radial-gradient(900px 500px at -10% 110%, #58c5f824, transparent 60%), radial-gradient(700px 400px at 100% 100%, #fbb7f12e, transparent 60%), var(--page);place-items:center;height:100vh;padding:24px;display:grid}.signin-card{width:min(420px,100%)}.signin-card h1{letter-spacing:-.03em;margin:14px 0 16px;font-size:54px;line-height:1}.signin-card p{color:var(--ink-2);margin:0 0 28px;font-size:16px}.signin-card .fine{text-align:center;margin-top:14px}.signin-card .btn{height:44px;font-size:15px}.brand-line{color:var(--ink);letter-spacing:.04em;align-items:center;gap:8px;font-size:14px;display:inline-flex}.signin-art{height:150px;margin-bottom:26px;position:relative}.sheet{border:1px solid var(--line);background:var(--card);width:190px;height:120px;box-shadow:var(--shadow);border-radius:12px;position:absolute}.sheet:before{content:"";background:var(--sunken);height:6px;box-shadow:0 14px 0 var(--sunken), 0 28px 0 var(--sunken);border-radius:3px;width:60%;position:absolute;inset:14px 14px auto}.sheet.s1{top:24px;left:0;transform:rotate(-6deg)}.sheet.s2{top:0;left:110px;transform:rotate(4deg)}.sheet.s3{background:var(--card) var(--accent-soft);top:30px;left:210px;transform:rotate(-2deg)}.scribble{width:100%;height:100%;position:absolute;inset:0}.scribble path{fill:none;stroke:var(--coral);stroke-width:4px;stroke-linecap:round;stroke-dasharray:260;stroke-dashoffset:260px;animation:1.4s ease-out .3s forwards draw}@keyframes draw{to{stroke-dashoffset:0}}.shell{grid-template-columns:252px 1fr;height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:var(--card);flex-direction:column;gap:4px;padding:18px 12px 12px;display:flex;overflow:auto}.brand{align-items:center;gap:9px;padding:4px 10px 16px;text-decoration:none;display:flex}.brand-name{font-family:var(--font-display);letter-spacing:-.01em;font-size:19px}.new-btn{margin:0 2px 14px}.nav-item,.folder-row{height:34px;color:var(--ink-2);border-radius:9px;align-items:center;gap:10px;padding:0 10px;font-size:14px;text-decoration:none;display:flex;position:relative}.nav-item:hover,.folder-row:hover{background:var(--hover);color:var(--ink)}.nav-item.active,.folder-row.active{background:var(--sunken);color:var(--ink)}.nav-item .count,.folder-row .count{color:var(--ink-3);margin-left:auto;font-size:12px}.drop-target.drop .nav-item,.folder-row.drop{background:color-mix(in srgb, var(--violet) 12%, transparent);color:var(--ink);box-shadow:inset 0 0 0 1px var(--violet)}.section-head{color:var(--ink-3);letter-spacing:.04em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:18px 6px 4px 10px;font-size:12px;display:flex}.folders,.folders ul{margin:0;padding:0;list-style:none}.folders-empty{color:var(--ink-3);padding:6px 10px;font-size:12.5px;line-height:1.45}.folder-row{gap:4px;padding-right:4px}.folder-link{flex:1;align-items:center;gap:8px;min-width:0;height:100%;text-decoration:none;display:flex}.folder-link span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.twisty{width:16px;height:16px;color:var(--ink-3);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;padding:0;transition:transform .12s;display:grid}.twisty.open{transform:rotate(90deg)}.twisty.none{visibility:hidden}.row-more{width:24px;height:24px;color:var(--ink-3);cursor:pointer;opacity:0;background:0 0;border:0;border-radius:6px;place-items:center;display:grid}.folder-row:hover .row-more,.comment:hover .row-more{opacity:1}.row-more:hover{background:var(--hover)}.folder-row .popover{left:auto;right:0}.folder-input{border:1px solid var(--focus);background:var(--card);border-radius:6px;outline:none;flex:1;min-width:0;height:26px;padding:0 6px;font-size:14px}.sidebar-foot{border-top:1px solid var(--line);gap:4px;margin-top:auto;padding-top:12px;display:grid;position:relative}.me{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;height:40px;padding:0 8px;font-size:14px;display:flex}.me:hover{background:var(--hover)}.content{background:var(--page);overflow:auto}.library,.settings{max-width:1480px;padding:40px 44px 80px}.library-head{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;display:flex}.library-head h1{margin-bottom:6px;font-size:34px;line-height:1.1}.library-head p{color:var(--ink-3);margin:0}.search{border:1px solid var(--line);background:var(--card);width:320px;height:40px;color:var(--ink-3);border-radius:999px;align-items:center;gap:8px;padding:0 8px 0 14px;display:flex}.search:focus-within{border-color:var(--focus)}.search input{color:var(--ink);background:0 0;border:0;outline:none;flex:1}.grid{grid-template-columns:repeat(auto-fill,minmax(272px,1fr));gap:22px;display:grid}.card{border-radius:var(--radius);border:1px solid var(--line);background:var(--card);flex-direction:column;text-decoration:none;transition:transform .16s,box-shadow .16s,border-color .16s;display:flex;overflow:hidden}.card:hover{box-shadow:var(--shadow);border-color:var(--line-strong);transform:translateY(-2px)}.card.skeleton{background:linear-gradient(90deg, var(--card), var(--sunken), var(--card));background-size:200% 100%;height:270px;animation:1.4s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.thumb{aspect-ratio:16/10;border-bottom:1px solid var(--line);background:#fff;position:relative;overflow:hidden}.thumb iframe{transform-origin:0 0;pointer-events:none;border:0;width:1280px;height:800px;position:absolute;top:0;left:0}.card-body{gap:4px;padding:14px 16px;display:grid}.card-title{text-overflow:ellipsis;white-space:nowrap;font-size:15.5px;line-height:1.35;overflow:hidden}.card-desc{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.card-meta{color:var(--ink-3);align-items:center;gap:6px;margin-top:8px;font-size:12.5px;display:flex}.card-meta .who{color:var(--ink-2)}.threads-count{color:var(--ink-2);align-items:center;gap:3px;display:inline-flex}.empty{text-align:center;color:var(--ink-2);justify-items:center;padding:80px 0;display:grid}.empty p{margin:4px 0}.empty-art{border:1px solid var(--line);background:var(--card) var(--accent-soft);width:120px;height:80px;box-shadow:var(--shadow);border-radius:12px;margin-bottom:18px;transform:rotate(-4deg)}.settings{max-width:820px}.settings-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:16px;padding:22px 24px}.settings-card h2{margin-bottom:6px;font-size:19px}.settings-card p{color:var(--ink-2);margin:0 0 12px}.snippet{background:var(--sunken);border:1px solid var(--line);border-radius:10px;position:relative}.snippet pre{font-family:var(--font-mono);white-space:pre-wrap;word-break:break-all;margin:0;padding:12px 44px 12px 14px;font-size:12.5px}.snippet .icon-btn{position:absolute;top:8px;right:8px}.rows{margin:8px 0 0;padding:0;list-style:none}.rows li{border-top:1px solid var(--line);color:var(--ink-2);align-items:center;gap:10px;padding:10px 0;display:flex}.row-main{color:var(--ink)}.row-meta{color:var(--ink-3);margin-left:auto;font-size:13px}.key-form{gap:8px;display:flex}.key-form input{flex:1}.new-key{background:var(--accent-soft);border-radius:12px;gap:8px;margin-bottom:12px;padding:14px;display:grid}.new-key p{margin:0}.viewer{grid-template-rows:auto 1fr;height:100vh;display:grid}.viewer-head{border-bottom:1px solid var(--line);background:var(--card);z-index:20;align-items:center;gap:12px;padding:10px 16px 10px 12px;display:flex;position:relative}.viewer-head:after{content:"";background:var(--accent);opacity:.55;height:1px;position:absolute;bottom:-1px;left:0;right:0}.brand-line.small{padding:0 8px}.viewer-titles{flex:1;min-width:0}.viewer-title{text-overflow:ellipsis;white-space:nowrap;border-radius:6px;margin:0 -4px;padding:0 4px;font-size:18px;line-height:1.3;overflow:hidden}.viewer-title.editable{cursor:text}.viewer-title.editable:hover{background:var(--hover)}.viewer-title-input{font:18px/1.3 var(--font-display);border:1px solid var(--focus);background:var(--card);border-radius:6px;outline:none;width:min(560px,100%);margin:0 -5px;padding:0 4px}.viewer-meta{color:var(--ink-3);align-items:center;gap:6px;font-size:12.5px;display:flex;position:relative}.meta-btn{color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:4px;margin:0 -6px;padding:2px 6px;font-size:12.5px;display:inline-flex}.meta-btn:hover{background:var(--hover)}.meta-btn em{color:var(--ink-3);font-style:normal}.viewer-actions{align-items:center;gap:6px;display:flex}.popover.share{gap:12px;width:470px;padding:16px;display:grid;left:auto;right:0}.share h3{font-size:16px}.share-link{gap:8px;display:flex}.share-link input{font-family:var(--font-mono);color:var(--ink-2);flex:1;font-size:12px}.viewer-body{grid-template-columns:1fr;min-height:0;display:grid;position:relative}.viewer.with-panel .viewer-body{grid-template-columns:1fr 360px}.stage-scroll{background:radial-gradient(circle at 1px 1px, color-mix(in srgb, var(--ink) 9%, transparent) 1px, transparent 0) 0 0 / 22px 22px, var(--page);padding:0 40px 120px;overflow:auto}.stage-bar{height:44px;color:var(--ink-3);align-items:center;gap:14px;font-size:12.5px;display:flex}.elsewhere{align-items:center;gap:6px;display:inline-flex}.elsewhere .link-btn{color:var(--violet);font-size:12.5px}.stage{box-shadow:var(--shadow-l);outline:1px solid var(--line);background:#fff;border-radius:6px;margin:0 auto;overflow:hidden}.frame{transform-origin:0 0;position:relative}.frame iframe{background:#fff;border:0;display:block}.overlay{pointer-events:none;position:absolute;inset:0;overflow:visible}.overlay.mode-draw,.overlay.mode-pin{pointer-events:auto}.overlay.mode-draw{cursor:crosshair;touch-action:none}.overlay.mode-pin{cursor:copy}.overlay path{fill:none;stroke-linecap:round;stroke-linejoin:round}.drawing{pointer-events:visibleStroke;cursor:pointer}.overlay.mode-draw .drawing,.overlay.mode-pin .drawing{pointer-events:none}.drawing path{opacity:.92;transition:opacity .12s}.drawing.selected path{filter:drop-shadow(0 0 4px #674ffc8c)}.draft path{opacity:.95}.pin{pointer-events:auto;cursor:pointer}.pin path{fill:var(--ink);stroke:#fff;stroke-width:2px;filter:drop-shadow(0 2px 4px #0000004d);transition:transform .12s}.pin text{fill:var(--ink-inverse);font:12px var(--font-text);pointer-events:none}.pin.selected path{fill:var(--violet)}.pin.selected text{fill:#fff}.pin.resolved path{fill:var(--ink-3)}.toolbar{z-index:15;background:var(--raised);border:1px solid var(--line);width:fit-content;box-shadow:var(--shadow-l);border-radius:999px;align-items:center;gap:2px;margin:0 auto;padding:5px;display:flex;position:absolute;bottom:24px;left:0;right:0}.viewer.with-panel .toolbar{right:360px}.toolbar button{min-width:36px;height:36px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;display:grid}.toolbar button:hover{background:var(--hover);color:var(--ink)}.toolbar button.on{background:var(--button);color:var(--button-ink)}.toolbar button:disabled{opacity:.35}.toolbar .sep{background:var(--line);width:1px;height:20px;margin:0 6px}.toolbar .swatch{width:28px;min-width:28px;height:28px}.toolbar .swatch:before{content:"";background:var(--swatch);border-radius:999px;width:16px;height:16px;box-shadow:inset 0 0 0 1px #0000001f}.toolbar .swatch.on{box-shadow:inset 0 0 0 2px var(--ink);background:0 0}.toolbar .size{min-width:30px}.toolbar .size span{background:currentColor;border-radius:999px}.toolbar .size.on{background:var(--sunken);color:var(--ink)}.toolbar .done{background:var(--button);color:var(--button-ink);padding:0 16px;font-size:14px}.toolbar .done:hover{background:var(--button);color:var(--button-ink);opacity:.88}.tool-hint{color:var(--ink-2);padding:0 12px 0 8px;font-size:13px}.panel{border-left:1px solid var(--line);background:var(--card);flex-direction:column;min-height:0;display:flex}.panel-head{padding:12px 14px 0}.tabs{background:var(--sunken);border-radius:999px;gap:4px;padding:3px;display:flex}.tabs button{height:30px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:999px;flex:1;font-size:13.5px}.tabs button span{color:var(--ink-3);margin-left:4px}.tabs button.on{background:var(--card);color:var(--ink);box-shadow:0 1px 2px #00000014}.new-thread{border-bottom:1px solid var(--line);padding:12px 14px}.new-thread.anchored{background:var(--accent-soft)}.pending-chip{color:var(--violet);align-items:center;gap:6px;margin-bottom:8px;font-size:12.5px;display:flex}.pending-chip .icon-btn{margin-left:auto}.composer textarea{border:1px solid var(--line);background:var(--card);resize:vertical;border-radius:11px;outline:none;width:100%;padding:10px 12px;font-size:14px;line-height:1.45}.composer textarea:focus{border-color:var(--focus)}.composer-foot{justify-content:flex-end;align-items:center;gap:6px;margin-top:6px;display:flex}.composer-foot .hint{color:var(--ink-3);margin-right:auto;font-size:11.5px}.thread-list{flex:1;padding:10px 10px 40px;overflow:auto}.panel-empty{color:var(--ink-3);text-align:center;padding:20px 10px;font-size:13.5px}.thread{cursor:pointer;border:1px solid #0000;border-radius:12px;padding:12px 12px 8px;transition:background .12s,border-color .12s}.thread+.thread{margin-top:4px}.thread:hover{background:var(--hover)}.thread.selected{border-color:var(--line-strong);background:var(--card);box-shadow:var(--shadow)}.thread.other-version{opacity:.62}.thread.resolved .comment-body{color:var(--ink-2)}.thread-tags{align-items:center;gap:6px;margin-bottom:6px;display:flex}.anchor-chip{color:var(--ink-3);align-items:center;gap:4px;font-size:11.5px;display:inline-flex}.anchor-chip.point,.anchor-chip.annotation{color:var(--violet)}.comment+.comment{border-top:1px dashed var(--line);margin-top:10px;padding-top:10px}.comment-head{align-items:center;gap:8px;display:flex;position:relative}.comment-head .who{font-size:13.5px}.comment-head .when{color:var(--ink-3);font-size:12px}.comment-head .row-more{margin-left:auto}.comment-head .popover{left:auto;right:0}.comment-body{white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0 0 30px;font-size:14px;line-height:1.5}.comment .composer{margin:6px 0 0 30px}.resolved-note{color:var(--green);align-items:center;gap:5px;margin:8px 0 0 30px;font-size:12px;display:flex}.reply-btn{color:var(--ink-3);cursor:pointer;background:0 0;border:0;margin:6px 0 0 30px;padding:2px 0;font-size:12.5px}.reply-btn:hover{color:var(--ink)}.thread>div>.composer{margin:8px 0 0 30px}@media (width<=900px){.shell{grid-template-columns:1fr}.sidebar{display:none}.viewer.with-panel .viewer-body{grid-template-columns:1fr}.panel{display:none}.viewer.with-panel .toolbar{right:0}.library,.settings{padding:24px 18px}.library-head{flex-direction:column;align-items:stretch}.search{width:100%}}
