:root{--paper: #eef0ed;--paper-raised: #f7f8f6;--ink: #14171a;--ink-soft: #4b5049;--line: #d5d9d2;--line-strong: #b7bcb3;--garnet: #6d1f2c;--garnet-tint: #f3e3e1;--teal: #2f6e63;--teal-tint: #dfeeea;--danger: #a3312f;--focus: #1c6bd6}@media (prefers-color-scheme: dark){:root{--paper: #14171a;--paper-raised: #1b1f20;--ink: #edeee9;--ink-soft: #a7ada4;--line: #33372f;--line-strong: #454a40;--garnet: #d97b83;--garnet-tint: #2e1a1c;--teal: #7fc3b5;--teal-tint: #16241f;--danger: #e58b89;--focus: #6fa8f0}}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Public Sans,-apple-system,Segoe UI,sans-serif;line-height:1.5}h1,h2{font-family:Fraunces,Georgia,serif;font-weight:600;margin:0 0 .5rem}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.5rem;border-bottom:1px solid var(--line);background:var(--paper-raised)}.topbar .brand{font-family:Fraunces,serif;font-weight:600}.topbar .who{display:flex;align-items:center;gap:.75rem;font-family:IBM Plex Mono,monospace;font-size:.82rem;color:var(--ink-soft)}main{flex:1;padding:2rem 1.5rem 4rem;max-width:900px;margin:0 auto;width:100%}.auth-card{max-width:420px;margin:4rem auto;background:var(--paper-raised);border:1px solid var(--line);border-radius:6px;padding:2rem;text-align:center}.auth-sub{color:var(--ink-soft);font-size:.92rem}.auth-card form{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.auth-error{color:var(--danger);font-size:.85rem;margin-top:.75rem}input[type=text],input[type=email],input[type=file],textarea{font-family:inherit;font-size:.95rem;border:1px solid var(--line-strong);border-radius:4px;background:var(--paper);color:var(--ink);padding:.55rem .7rem;width:100%}textarea{font-family:IBM Plex Mono,monospace;font-size:.8rem;resize:vertical}input:focus,textarea:focus,button:focus-visible{outline:2px solid var(--focus);outline-offset:1px}button{font-family:inherit;font-size:.9rem;font-weight:600;border:none;border-radius:4px;padding:.6rem 1.1rem;background:var(--garnet);color:#fff;cursor:pointer}button:disabled{opacity:.6;cursor:default}button.secondary{background:transparent;color:var(--ink);border:1px solid var(--line-strong)}.link-btn{background:none;border:none;color:var(--garnet);font-weight:500;font-size:.85rem;padding:.2rem .4rem;cursor:pointer;text-decoration:none}.link-btn.danger{color:var(--danger)}.panel{background:var(--paper-raised);border:1px solid var(--line);border-radius:6px;padding:1.5rem 1.75rem}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;flex-wrap:wrap;gap:.75rem}.panel-actions{display:flex;gap:.5rem}.artifact-list{list-style:none;margin:0;padding:0}.artifact-list li{padding:.9rem 0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.artifact-list li:first-child{border-top:none}.artifact-row-main{display:flex;align-items:center;gap:.75rem}.artifact-title{font-weight:600}.badge{font-family:IBM Plex Mono,monospace;font-size:.72rem;padding:.15rem .5rem;border-radius:20px}.badge-restricted{background:var(--garnet-tint);color:var(--garnet)}.badge-open{background:var(--teal-tint);color:var(--teal)}.artifact-row-actions{display:flex;gap:.9rem}.artifact-form{display:flex;flex-direction:column;gap:1.1rem}.artifact-form label{display:flex;flex-direction:column;gap:.4rem;font-size:.85rem;font-weight:600}.checkbox-row{flex-direction:row!important;align-items:center;gap:.5rem!important}.field-hint{color:var(--ink-soft);font-weight:400;font-size:.8rem}.form-actions{display:flex;gap:.75rem}.inline-form{display:flex;gap:.5rem;margin:1rem 0}.inline-form input{flex:1}.staff-list{list-style:none;margin:0;padding:0}.staff-list li{display:flex;justify-content:space-between;align-items:center;padding:.6rem 0;border-top:1px solid var(--line);font-family:IBM Plex Mono,monospace;font-size:.85rem}.staff-list li:first-child{border-top:none}.artifact-viewport{position:fixed;top:0;right:0;bottom:0;left:0}.artifact-frame{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:none}.artifact-frame.with-panel{right:380px;width:calc(100% - 380px)}.comments-toggle{position:fixed;top:1rem;right:1rem;z-index:20;box-shadow:0 2px 10px #0000002e}.comments-panel{position:fixed;top:0;right:0;bottom:0;width:380px;background:var(--paper-raised);border-left:1px solid var(--line);display:flex;flex-direction:column;z-index:15}.comments-panel-head{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--line);flex-shrink:0}.comments-panel-head h2{font-size:1.1rem}.comments-panel-body{flex:1;overflow-y:auto;padding:.5rem 1.25rem 1.5rem}.comment-thread{padding:1rem 0;border-top:1px solid var(--line)}.comment-thread:first-child{border-top:none}.comment-thread.active{background:var(--teal-tint);margin:0 -1.25rem;padding:1rem 1.25rem}.comment-quote{font-size:.82rem;color:var(--ink-soft);font-style:italic;border-left:3px solid var(--line-strong);padding-left:.6rem;margin:0 0 .6rem}.comment-quote-missing{font-style:normal;color:var(--danger)}.comment-row-head{display:flex;align-items:baseline;gap:.5rem;font-size:.78rem;font-family:IBM Plex Mono,monospace}.comment-author{color:var(--ink);font-weight:600}.comment-time{color:var(--ink-soft)}.comment-body{margin:.3rem 0;font-size:.9rem;white-space:pre-wrap;word-break:break-word}.comment-delete{padding:0;font-size:.75rem}.comment-replies{margin:.5rem 0 0 1rem;padding-left:.75rem;border-left:2px solid var(--line)}.comment-reply-form{display:flex;gap:.5rem;margin-top:.6rem}.comment-reply-form input{flex:1;font-size:.85rem;border:1px solid var(--line-strong);border-radius:4px;background:var(--paper);color:var(--ink);padding:.4rem .6rem}.comment-reply-form button{padding:.4rem .8rem;font-size:.8rem}.comment-pill{z-index:25;padding:.4rem .8rem;font-size:.8rem;border-radius:20px;box-shadow:0 2px 10px #00000040}.comment-popover{z-index:25;width:260px;background:var(--paper-raised);border:1px solid var(--line-strong);border-radius:6px;padding:.75rem;box-shadow:0 4px 18px #00000047;display:flex;flex-direction:column;gap:.5rem}.comment-popover textarea{font-family:inherit;font-size:.85rem}.comment-popover-actions{display:flex;gap:.5rem}.comment-popover-actions button{padding:.4rem .8rem;font-size:.8rem}
