:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#252a27;background:#f7f7f5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;font-optical-sizing:auto;--muted: #828680;--line: #e7e8e2;--ink: #252a27;--sage: #deeadb;--radius: 18px}*{box-sizing:border-box}body{margin:0;min-width:320px;overflow-x:clip}button,input,select,textarea{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button{color:inherit}button:disabled{cursor:default;opacity:.4}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #3478d8;outline-offset:4px}button,svg{flex-shrink:0}button{touch-action:manipulation}h1,h2,h3,p{margin:0}button{border:0}svg{vertical-align:middle}input,select,textarea{max-width:100%}button:disabled:active{transform:none}.app-shell{max-width:480px;margin:0 auto;padding:calc(27px + env(safe-area-inset-top)) 22px calc(99px + env(safe-area-inset-bottom));min-height:100dvh}.session-header{display:flex;align-items:center;gap:14px;justify-content:space-between}.session-title{padding:0;background:none;text-align:left;min-width:0;flex:1}.eyebrow{font-size:9px;font-weight:700;letter-spacing:1.7px;display:block;color:#8a8e85;margin-bottom:8px}.session-name{display:flex;align-items:center;gap:9px;font-size:17px;font-weight:650;letter-spacing:-.5px;line-height:1.4}.session-name>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-name svg{color:#92978e}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:13px;padding:13px 17px;min-height:46px;font-size:13px;font-weight:600;transition:background .15s,transform .15s}.button:active:not(:disabled){transform:scale(.98)}.primary{background:var(--ink);color:#fff}.secondary{background:#eeefea;color:#555d53}.full{width:100%}.start-button{background:var(--ink);color:#fff;min-width:91px;border-radius:24px;font-size:12px;padding:12px 16px;min-height:43px}.start-button.is-running{background:#dce8d9;color:#3e5c37}.timer-area{text-align:center;padding:16px 0}.timer-digits{font-size:clamp(52px,14vw,64px);font-weight:450;letter-spacing:-3px;line-height:1.07;font-variant-numeric:tabular-nums;white-space:nowrap}.timer-caption{display:flex;align-items:center;justify-content:center;gap:7px;font-size:10px;font-weight:500;color:#989c93;margin-top:7px;letter-spacing:.1px}.status-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#a8afa0;flex-shrink:0}.status-dot.live{background:#6c9660;box-shadow:0 0 0 3px #e6ecdf}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:15px}.quick-actions .button{min-height:44px;padding:11px;font-size:12px}.undo{background:#d241412e;color:#d54c4c}.highlight{background:#9362db1a;color:#9362db}.code-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:21px;isolation:isolate}.code-card{position:relative;display:flex;justify-content:center;align-items:center;height:67px;border:1px solid #e7e8e2;border-radius:17px;background:#eeefea;transition:background .2s}.code-card:has([data-dragging]){z-index:20}.code-card.recorded{background:#dce8d9;border-color:#bdcfb8}.code-circle{position:relative;display:flex;align-items:center;justify-content:center;width:49px;height:49px;background:#fcfcfa;border:1px solid #e3e5dc;border-radius:50%;font-size:17px;font-weight:600;letter-spacing:-.5px;box-shadow:0 2px 3px #252a2705;transform:translate(var(--drag-x, 0px));transition:background .1s,color .1s;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:none;z-index:2}.code-circle:disabled{opacity:.58}.code-circle[data-dragging]{transition:background .1s,color .1s;cursor:grabbing;box-shadow:0 7px 18px #252a2720}.code-circle[data-side=home]{background:#3478d8;color:#fff;border-color:#3478d8}.code-circle[data-side=away]{background:#d98026;color:#fff;border-color:#d98026}.direction{position:absolute;top:50%;transform:translateY(-50%);font-size:16px;color:#b4b9af;-webkit-user-select:none;user-select:none;pointer-events:none}.direction.left{left:17px}.direction.right{right:17px}.notes-box{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:17px 17px 14px}.box-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:13px}.box-heading h2,.box-heading h3{font-size:13px;font-weight:650;display:flex;align-items:center;gap:7px}.count{display:inline-flex;min-width:18px;height:18px;align-items:center;justify-content:center;font-size:9px;background:#f0f2ec;border-radius:6px;color:#92998b;font-weight:500}.save-status{display:inline-flex;align-items:center;gap:5px;font-size:9px;color:#8c9683;white-space:nowrap}.save-status.error{color:#cc5252}.save-status.error .status-dot{background:#cc5252}.save-status.saving .status-dot{background:#b6a26c}.event-list{list-style:none;padding:0 3px 0 0;margin:0;max-height:184px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#dce1d5 transparent}.event-list li{display:flex;align-items:center;justify-content:space-between;min-height:34px;border-bottom:1px solid #f1f2ee;gap:10px}.event-list li:last-child{border-bottom:0}.event-select{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:44px;padding:8px;border-radius:8px;background:transparent;text-align:left}.event-select[aria-pressed=true]{background:#e8eee0;box-shadow:inset 3px 0 #71865f}.event-select:focus-visible{outline-offset:-3px}.event-line{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;letter-spacing:.6px;color:#58604f;font-variant-numeric:tabular-nums;min-width:0;overflow-wrap:anywhere;white-space:pre-wrap}.event-content{display:flex;flex-direction:column;gap:4px;min-width:0}.event-time-warning{font-size:10px;color:#a14f36}.manual-event-form .inline-error{margin:0;line-height:1.6}.event-list svg{color:#9362db}.event-marker{height:3px;width:3px;background:#d4d9ce;border-radius:50%;margin-right:6px}.events-empty{text-align:center;padding:6px 0 20px;color:#a2a69c}.empty-mark{font-size:22px;color:#c5cbbe}.events-empty p{font-size:11px;margin-top:6px;color:#8d9486}.events-empty>span:last-child{display:block;font-size:10px;margin-top:6px}.copy-button{background:#f0f2ec;color:#69745d;margin-top:13px;min-height:40px;padding:10px;font-size:11px}.notes-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}.notes-actions .button{margin-top:0;min-width:0;min-height:44px;padding:10px 8px;font-size:11px;gap:6px}.add-code-button{background:#e8eee0;color:#56684a}.manual-event-form{display:grid;gap:16px}.manual-event-form .form-note,.manual-event-form .checkbox-label,.manual-event-form .danger-plain{margin:0}.bottom-nav{position:fixed;bottom:0;left:0;right:0;border-top:1px solid #e4e7de;background:#fafbf7f5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding-bottom:env(safe-area-inset-bottom);z-index:30}.bottom-nav>div{display:flex;max-width:480px;margin:auto;justify-content:center;gap:37px;padding:8px 20px 9px}.bottom-nav button{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:9px;color:#9da494;background:none;padding:7px 14px;min-width:110px;min-height:49px}.bottom-nav button[aria-current=page]{color:#3f5134}.bottom-nav button[aria-current=page] svg{stroke-width:2}.toast{position:fixed;top:calc(13px + env(safe-area-inset-top));left:50%;transform:translate(-50%,-8px);padding:11px 17px;border-radius:30px;background:#263125;color:#fff;display:flex;align-items:center;gap:8px;font-size:12px;z-index:70;box-shadow:0 6px 28px #22292224;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s;max-width:90vw;width:max-content}.toast.visible{opacity:1;transform:translate(-50%)}.archive-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.archive-heading h1{font-size:27px;font-weight:600;letter-spacing:-1.3px}.title-dot{color:#89a079}.icon-button{display:inline-flex;align-items:center;justify-content:center;background:transparent;width:36px;height:36px;border-radius:10px;color:#89907e}.help-button{background:#ecede7}.new-session{margin-bottom:29px;background:#2c3829;min-height:49px}.archive-section-label{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.4px;font-weight:600;color:#929a88;margin-bottom:12px}.session-list{display:flex;flex-direction:column;gap:10px}.session-card{display:flex;align-items:center;gap:12px;width:100%;padding:17px 14px;border:1px solid var(--line);border-radius:16px;background:#fff;text-align:left}.session-card-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:39px;height:43px;border-radius:11px;background:#f0f3eb;color:#89987c}.session-card-body{flex:1;min-width:0}.session-card strong{font-size:13px;font-weight:600;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-card-body>span{display:flex;align-items:center;flex-wrap:wrap;gap:5px;font-size:9px;color:#949c8b;margin-top:8px}.session-card>svg{color:#b4bcaa}.meta-separator{margin:0 2px}.active-tag{font-size:8px;background:#eef3e7;color:#81956e;padding:3px 6px;border-radius:4px;margin-left:3px}.backup-section{margin-top:34px;padding:20px 0;border-top:1px solid var(--line)}.backup-section>div:first-child{display:flex;align-items:center;gap:8px;color:#8a967e}.backup-section h2{font-size:12px;font-weight:600;color:#636e58}.backup-section p{font-size:11px;line-height:1.8;color:#969e8f;margin:11px 0 15px}.detail-tools{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:13px 0 20px}.detail-tools .button{font-size:11px;padding:11px 8px;min-height:43px}.archive-footer{font-size:10px;color:#9ba391;display:flex;gap:6px;align-items:center;justify-content:center;margin-top:15px}.running-banner{width:100%;padding:13px;border-radius:12px;background:#e8eee0;color:#5d7350;display:flex;align-items:center;gap:10px;font-size:11px;margin-bottom:20px}.running-banner span:nth-child(2){flex:1;text-align:left}.back-link{background:none;padding:0;margin:0 0 17px;color:#839178;font-size:12px}.detail-card{background:#fff;border-radius:18px;border:1px solid var(--line);padding:19px}.detail-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.detail-title h2{font-size:19px;line-height:1.4;overflow-wrap:anywhere;font-weight:600;letter-spacing:-.6px}.session-meta{font-size:11px;color:#97a08e;margin:5px 0 22px}.detail-card .muted{font-size:9px}.muted{color:var(--muted)}.editable{max-height:350px}.editable li{min-height:44px}.text-action{display:flex;align-items:center;gap:8px;background:none;padding:14px 0 0;font-size:11px;color:#80916f}.delete-action{color:#c26b63;margin-top:9px}.notice{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:11px;color:#66775b;border:1px solid #dce4d3;border-radius:12px;background:#edf1e6;padding:12px;margin-bottom:18px;line-height:1.6}.notice button{background:none;text-decoration:underline;color:inherit;padding:5px;font-size:11px;font-weight:600}.notice small{width:100%;font-size:10px}.notice.error{background:#fff1ef;color:#b54d45;border-color:#f2d5d1}.notice-actions{display:flex;gap:13px}.loading{min-height:100dvh;display:flex;flex-direction:column;gap:18px;align-items:center;justify-content:center;color:#8b9681;font-size:13px}dialog{color:var(--ink);background:#fcfcf9;border:1px solid #e7e9e0;border-radius:22px;padding:24px;width:calc(100% - 32px);max-width:420px;max-height:85dvh;overflow:auto;box-shadow:0 24px 90px #18241430}dialog::backdrop{background:#242d2366;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:23px}.dialog-heading h2{font-size:19px;font-weight:600;letter-spacing:-.6px}.dialog-heading .icon-button{width:30px;height:30px}.dialog-message{font-size:13px;line-height:1.8;color:#7b8671;margin-bottom:24px;overflow-wrap:anywhere}.dialog-actions{display:flex;gap:9px;justify-content:flex-end}.dialog-actions .button{font-size:12px}.danger{background:#c9504a;color:#fff}.danger-plain{color:#bd5d55;background:none;margin-top:10px}label{display:flex;flex-direction:column;gap:9px;font-size:11px;color:#7d8973;font-weight:500}input,select,textarea{width:100%;border:1px solid #dfe5d7;border-radius:11px;background:#fff;color:#34442c;padding:13px;font-size:14px}input[type=checkbox]{width:18px;height:18px;accent-color:#668653}.form-note{font-size:11px;line-height:1.8;color:#8e9885;margin:14px 0 20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.checkbox-label{display:flex;flex-direction:row;align-items:center;gap:10px;margin-top:19px;font-size:12px}.copy-fallback{min-height:190px;resize:vertical;font-family:ui-monospace,monospace;font-size:13px}.help-content p{font-size:12px;line-height:1.9;color:#7d8973;margin-bottom:16px}.help-content strong{font-weight:600;color:#47563c}.inline-error{color:#b75049;font-size:12px;margin-bottom:18px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-width:700px){body{background:#eeefe9}.app-shell{margin:32px auto 90px;background:#f7f7f5;border:1px solid #e0e4d9;border-radius:28px;min-height:0;padding-top:28px;padding-bottom:24px;box-shadow:0 15px 60px #293c1d08}.bottom-nav{left:50%;right:auto;transform:translate(-50%);width:480px;border:1px solid #e0e4d9;border-bottom:0;border-radius:20px 20px 0 0}}@media(max-width:359px){.app-shell{padding-left:16px;padding-right:16px}.session-name{font-size:15px}.direction.left{left:12px}.direction.right{right:12px}.detail-tools .button{font-size:10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.eyebrow,.timer-caption,.save-status,.session-meta,.archive-section-label,.archive-footer,.form-note,.backup-section p,.help-content p,.session-card-body>span,.muted,.dialog-message,label{color:#69745f}.timer-caption{font-size:11px}.save-status{font-size:10px}.bottom-nav button{font-size:11px;color:#717b66}.session-card-body>span{font-size:10px}.box-heading h2,.box-heading h3,.event-line{font-size:14px}.copy-button{font-size:12px}.quick-actions .button{font-size:13px}.archive-section-label{font-size:10px}.events-empty p{color:#737e69;font-size:12px}.events-empty>span:last-child{font-size:11px;color:#7b8572}.count{color:#69745f}.loading p{padding:0 24px;text-align:center;max-width:450px;line-height:1.8}
