:root{color-scheme:dark;font:15px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#f2f5ee;background:#101817;--accent:#dfff81;--muted:#a5b3ab}*{box-sizing:border-box}body{margin:0}button,input,a{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.4}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:4px}[hidden]{display:none!important}.shell{max-width:1080px;margin:auto;padding:20px max(16px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom))}.top{display:flex;align-items:center;gap:14px;position:relative;margin-bottom:26px}.top img{object-fit:contain;background:#000;border-radius:12px}.top h1{font-size:22px;font-weight:550;letter-spacing:-.6px;margin:1px 0}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--accent)}.quiet{border:1px solid #ffffff24;background:transparent;color:#eff4ee;border-radius:24px;padding:11px 15px;font-size:11px;font-weight:650}.top>.quiet{margin-left:auto}nav{position:absolute;z-index:10;right:0;top:70px;background:#24332d;padding:18px;border-radius:16px;box-shadow:0 12px 35px #0008;max-width:min(320px,95vw)}nav a,nav span{display:block;padding:9px 0;color:#f3f5ed;font-size:13px;overflow-wrap:anywhere}nav span{color:var(--muted)}.add{display:flex;gap:10px;align-items:center;justify-content:center;width:100%;min-height:54px;border:1px solid #6a7b624f;border-radius:14px;background:#1c2b23;color:var(--accent);font-size:12px;font-weight:650;letter-spacing:.1px}.add b{font-size:24px;font-weight:400}.editing{display:flex;align-items:center;gap:8px;margin:20px 0 12px}.editing>span:first-child{font-size:9px;letter-spacing:1.5px;color:var(--muted)}.editing input{border:0;border-bottom:1px solid transparent;background:transparent;min-width:0;width:100%;color:#f5f6ee;font-size:15px;font-weight:550;padding:6px 0}.editing input:focus{border-bottom-color:var(--accent);outline:none}.state{font-size:10px;color:var(--accent);white-space:nowrap}.workarea{display:grid;grid-template-columns:minmax(0,1fr) 64px;gap:12px;height:clamp(320px,53dvh,610px)}.preview{position:relative;overflow:hidden;border-radius:20px;background:radial-gradient(ellipse at 50% 45%,#34463d,#1b2924 65%,#17231f);isolation:isolate}.preview:after{content:'';position:absolute;inset:0;border:1px solid #ffffff08;border-radius:20px;pointer-events:none}.preview-label{position:absolute;left:16px;top:14px;font-size:9px;letter-spacing:2px;color:#c7d6c9;pointer-events:none}.camera-button{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);border:1px solid #ffffff30;background:#101b17e8;color:#f4f6ee;border-radius:30px;padding:12px 17px;white-space:nowrap;font-size:12px}.camera-button span{margin-right:6px;font-size:18px;vertical-align:middle}#preview-stage{width:100%;height:100%;touch-action:none}#preview-stage canvas{width:100%;height:100%;display:block}#preview-empty{position:absolute;left:20px;right:20px;top:44%;text-align:center;font-size:13px;color:var(--muted);pointer-events:none}.catalog{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;display:flex;flex-direction:column;gap:10px;padding:2px 2px 8px;align-items:stretch}.card{border:1px solid #ffffff18;background:#1e2a25;border-radius:13px;padding:5px 4px 4px;min-height:77px;flex-shrink:0;color:#aebfb2;display:grid;gap:3px;justify-items:center}.card img{width:47px;height:49px;border-radius:8px;object-fit:contain}.card span{font-size:10px;font-weight:650;letter-spacing:1px}.card[aria-pressed=true]{border-color:var(--accent);background:#dfff8110;color:var(--accent);box-shadow:0 0 0 1px #dfff8130}.instruction{text-align:center;font-size:13px;margin:19px 0 6px}.subtle{text-align:center;font-size:11px;color:var(--muted);margin:0 12px 14px}.primary{display:flex;align-items:center;justify-content:center;gap:20px;min-height:54px;border:0;border-radius:14px;background:var(--accent);color:#192218;font-size:13px;font-weight:750;text-decoration:none}.save{width:100%;letter-spacing:.5px}.feedback{min-height:23px;margin:10px 0;text-align:center;font-size:12px;color:var(--accent)}.feedback.error{color:#ffb9aa}footer{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.5px;color:#819289;margin-top:12px}footer span{color:#63766b}.upload-status{margin-top:12px;padding:14px;border-radius:12px;background:#213229;font-size:12px}.upload-status progress{display:block;width:100%;height:5px;accent-color:var(--accent);margin-top:10px}#signin{max-width:480px;margin:15vh auto;text-align:center}#signin h2{font-size:27px;line-height:1.2;font-weight:500}#signin p{color:var(--muted);margin-bottom:28px}@media(min-width:700px){.shell{padding:30px 36px}.top{margin-bottom:32px}.top h1{font-size:28px}.add{justify-content:flex-start;padding-left:22px}.workarea{grid-template-columns:minmax(0,1fr) 92px;gap:20px;height:min(62vh,660px)}.card img{width:64px;height:67px}.card{min-height:100px}.save{max-width:420px;margin:0 auto}.preview-label{left:24px;top:22px}}@media(max-width:360px){.shell{padding:14px 12px}.top{gap:9px}.top img{width:48px;height:48px}.top h1{font-size:20px}.add{font-size:10px}.workarea{gap:8px;grid-template-columns:minmax(0,1fr) 59px}}

.modality{padding:15px 18px;border-radius:14px;background:#1c2b23;color:var(--accent);font-size:14px;letter-spacing:1px}.drawing-instruction{font-size:14px;line-height:1.5;color:#ced9d0;margin:16px 0 10px;max-width:600px}.workarea{height:clamp(290px,46dvh,570px)}.workarea+.add{margin:16px 0 12px}.top{margin-bottom:18px}.editing{margin-top:10px}@media(min-width:700px){.workarea{height:min(53vh,590px)}}

#publish-lab{margin-top:12px;background:#1c2d25;color:#dfff81;border:1px solid #648448}.lab-link{display:block;text-align:center;color:#dfff81;padding:18px 8px;font-size:13px;font-weight:700;text-decoration:none}

.delete-button{position:absolute;left:12px;bottom:16px;z-index:2;background:#17231fee;color:#ffc5bb;border-color:#ffc5bb40;font-size:10px;padding:10px 12px}.delete-button span{margin-right:4px}#delete-dialog{color:#f2f5ee;background:#1c2b24;border:1px solid #ffffff30;border-radius:20px;padding:24px;max-width:min(440px,calc(100vw - 32px));box-shadow:0 20px 80px #0009}#delete-dialog::backdrop{background:#000a}#delete-dialog h2{font-size:22px;margin:0 0 12px}#delete-name{font-weight:650;overflow-wrap:anywhere;color:var(--accent)}#delete-description{font-size:14px;color:#d6ddd8}#delete-error{color:#ffc5bb;font-size:13px}.delete-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px;justify-content:flex-end}.delete-confirm{background:#b43b35;color:white;border:0;border-radius:24px;padding:12px 16px;font-size:11px;font-weight:700}@media(max-width:699px){.preview .camera-button{bottom:62px}.delete-actions{flex-direction:column-reverse}.delete-actions button{min-height:44px}}

.content-actions{position:absolute;left:12px;right:12px;bottom:12px;z-index:2;display:flex;gap:8px;flex-wrap:wrap}
.content-actions .delete-button{position:static;min-height:44px}
.visibility-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:#17231fee;color:var(--accent);font-size:10px;min-height:44px;padding:10px 12px}
.visibility-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hidden-badge{display:block;color:#dfff81;font-size:8px;letter-spacing:.5px}.card.is-hidden img{opacity:.55}
@media(max-width:380px){.content-actions{left:8px;right:8px;gap:5px}.content-actions button{padding:8px;font-size:9px}.preview .camera-button{bottom:70px}}
