:root{--ink:#0d274a;--muted:#6d7580;--line:#cdd1d3;--surface:#fffdf5;--canvas:#faf7ec;--accent:#fff0de;--accent-strong:#b65f20;--danger:#b8333b;--shadow:4px 4px 0 rgba(13,39,74,.82)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--canvas);color:var(--ink)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans JP,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,select{color:inherit}button{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(47,107,89,.22);outline-offset:2px}button:disabled,input:disabled{cursor:default;opacity:.34}.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}.app-shell{position:relative;width:min(100%,780px);margin:0 auto;grid-template-rows:auto minmax(0,1fr);overflow:hidden;background:var(--canvas)}.app-loading,.app-shell{height:100dvh;display:grid}.app-loading{place-content:center;gap:12px;background:var(--surface);color:var(--muted);text-align:center}.speed-row{display:grid;grid-template-columns:auto minmax(0,1fr) 48px 40px;align-items:center;gap:7px;margin:3px 0;font-size:12px}.speed-row>span{color:var(--muted)}.speed-row>input{width:100%;min-width:0;height:40px;margin:0;accent-color:var(--ink);cursor:pointer}.speed-row output{text-align:right;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.speed-row .speed-reset{min-height:40px;padding:0;border:0;border-radius:6px;background:var(--accent);color:var(--accent-strong);font-size:12px;cursor:pointer}.speed-visibility-button.is-active{background:#e4eaf2}.app-loading p{margin:0;font-size:14px}.loading-mark{width:46px;height:46px;margin:auto;display:grid;place-items:center;border-radius:50%;background:var(--ink);color:white;font-size:18px}.player-panel{position:relative;z-index:8;margin:8px 8px 0;padding:max(5px,env(safe-area-inset-top)) 10px 3px;border:2px solid var(--ink);border-radius:9px;background:rgba(255,253,245,.98);box-shadow:var(--shadow)}.top-row{min-height:44px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px;align-items:center}.player-title-group{min-width:0;display:flex;align-items:center}.delayed-start{padding:0 6px 0 12px;border:0;border-radius:7px;background:#e4eaf2}.delay-value,.delayed-start{display:flex;align-items:center;gap:5px}.delay-value{padding:0;font-size:16px;line-height:1;font-weight:650;white-space:nowrap}.delay-value>span{color:var(--ink)}.delay-value input{min-width:1ch;min-height:40px;padding:0;border:0;border-radius:3px;background:transparent;color:var(--ink);text-align:center;font-size:16px;line-height:1;font-weight:650;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;cursor:text}.delay-value input:focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px}.delay-value input:disabled{opacity:1}.delayed-start>button{display:grid;width:32px;min-height:40px;padding:0;place-items:center;border:0;border-radius:5px;background:transparent;color:var(--ink);cursor:pointer;transition:transform .12s ease}.delayed-start>button:active{transform:scale(.95)}.delayed-start.is-counting{background:#d4dfed}.delayed-start{padding:0}.delay-number{justify-content:center;gap:5px;min-height:40px;padding:0 9px;border-radius:7px;color:var(--ink);font-weight:650;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:manipulation}.delay-stepper{z-index:20;padding:6px;border:1px solid var(--line);border-radius:7px;box-shadow:0 4px 12px #0d274a22}.delay-stepper button{width:40px;height:40px;padding:0;background:#e4eaf2}.delay-stepper input{width:65px;min-height:40px}.delayed-start.is-counting .delay-value input{color:var(--ink)}.top-row>.top-actions{justify-self:end;justify-content:flex-end;min-width:0}.top-actions .icon-button{flex-shrink:0;display:grid;place-items:center;padding:0;border-radius:6px}@media (max-width:480px){.top-row{gap:3px}.player-title-group .jagupani-home-button{width:30px;height:36px}.player-title-group .show-select{padding-inline:3px;font-size:14px}.top-row .icon-button{width:30px;height:40px}}.jagupani-home-button{display:grid;width:38px;height:38px;flex:0 0 auto;place-items:center;border:2px solid var(--ink);border-radius:7px;background:var(--surface);color:var(--ink);text-decoration:none;font-size:20px;font-weight:900;cursor:pointer}.progress-entry-shell{display:block;overflow-y:auto;background:var(--canvas)}.progress-entry-screen{width:min(100% - 28px,520px);margin:0 auto;padding:max(24px,env(safe-area-inset-top)) 0 max(40px,env(safe-area-inset-bottom))}.progress-entry-header{display:grid;grid-template-columns:42px 1fr 42px;gap:12px;align-items:center}.progress-entry-header h1{margin:0;text-align:center;font-size:21px;letter-spacing:.08em}.progress-entry-copy{margin:52px 0 24px;text-align:center}.progress-entry-copy span{color:var(--muted);font-size:12px;font-weight:900;letter-spacing:.2em}.progress-entry-copy h2{margin:8px 0 0;font-size:23px;letter-spacing:.05em}.progress-mode-grid{display:grid;gap:14px}.progress-mode-grid>button{display:grid;min-height:94px;grid-template-columns:54px minmax(0,1fr) 24px;grid-template-rows:auto auto;column-gap:14px;align-items:center;border:2px solid var(--ink);border-radius:9px;background:var(--surface);padding:15px 16px;color:var(--ink);text-align:left;box-shadow:4px 4px 0 rgba(13,39,74,.82);cursor:pointer}.progress-mode-grid>button>span{display:grid;width:52px;height:52px;grid-row:1/3;place-items:center;border-radius:50%;background:var(--accent);font-size:25px}.progress-mode-grid>button.event-mode>span{background:#f3e8d9;color:#7c6046}.progress-mode-grid>button.team-mode>span{background:#d9efeb;color:#176b68}.progress-mode-grid>button.personal-mode>span{background:#e2eaf7;color:#234f82}.progress-mode-grid>button>strong{align-self:end;font-size:19px;letter-spacing:.08em}.progress-mode-grid>button>small{align-self:start;margin-top:4px;color:var(--muted);font-size:13px;font-weight:700}.progress-mode-grid>button>b{grid-column:3;grid-row:1/3;font-size:27px}.event-folder-list>button:active,.progress-mode-grid>button:active{transform:translateY(2px);box-shadow:2px 2px 0 rgba(13,39,74,.82)}.event-folder-list{display:grid;gap:13px}.event-folder-list>button{display:grid;min-height:76px;grid-template-columns:46px minmax(0,1fr) 20px;gap:13px;align-items:center;border:2px solid var(--ink);border-radius:9px;background:var(--surface);padding:12px 15px;color:var(--ink);text-align:left;box-shadow:4px 4px 0 rgba(13,39,74,.82);cursor:pointer}.event-folder-list>button>span:first-child{display:grid;width:44px;height:44px;place-items:center;border-radius:8px;background:var(--accent);font-size:23px}.event-folder-list>button>span:nth-child(2){display:grid;gap:5px}.event-folder-list>button strong{font-size:17px;line-height:1.4}.event-folder-list>button small{color:var(--muted);font-size:13px;font-weight:800}.event-folder-list>button>b{font-size:24px}.progress-empty-panel{border:2px dashed rgba(13,39,74,.35);border-radius:9px;background:rgba(255,253,245,.7);padding:30px 18px;color:var(--muted);text-align:center;font-size:16px;font-weight:800}.personal-empty-panel{margin-top:80px}.show-select-wrap{position:relative;min-width:0;flex:1 1}.show-select{width:100%;min-height:40px;padding:0 8px;border:0;appearance:none;background:transparent;overflow:hidden;text-overflow:ellipsis;font-size:20px;font-weight:760;cursor:pointer}.show-select.is-overview{border-radius:7px;background:var(--accent);color:var(--ink)}.show-select .overview-option{background:#f5c48f;color:var(--ink);font-weight:900}.top-actions{position:relative;flex:0 0 auto;display:flex;align-items:center;gap:2px}.connection-dot{min-width:0;color:var(--muted);font-size:11px;white-space:nowrap}.connection-dot.offline{padding:4px 7px;border-radius:10px;background:#f2e7dc;color:#825d3b}.card-menu,.icon-button,.management-header button,.row-menu,.sheet-close{border:0;background:transparent;cursor:pointer}.icon-button{width:40px;height:40px;border-radius:50%;font-size:25px}.lock-button{font-size:17px}.lock-button.is-editing{background:var(--accent);color:var(--accent-strong)}.book-button{font-size:18px}.book-button.is-active{background:var(--accent)}.folder-button{font-size:18px}.folder-button.is-active{background:var(--accent)}.pack-chip{max-width:84px;background:#efe8d8;color:#5f5137}.appearance-member-chip,.pack-chip{min-height:29px;padding:0 9px;overflow:hidden;border:0;border-radius:8px;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:720;cursor:pointer}.appearance-member-chip{max-width:88px}.save-status{height:12px;display:flex;justify-content:flex-end;align-items:center;gap:6px;color:var(--muted);font-size:10px;white-space:nowrap}.save-status.error{color:var(--danger)}.save-status button{padding:1px 3px;border:0;border-bottom:1px solid;background:transparent;color:inherit;font-size:11px;cursor:pointer}.transport{display:grid;grid-template-columns:repeat(5,1fr);align-items:center;margin:0 0 2px;padding-top:8px;border-top:1px solid var(--line)}.transport>button{min-width:44px;min-height:40px;border:0;border-radius:8px;display:grid;place-content:center;background:transparent;cursor:pointer}.skip-label{display:inline-flex;min-width:30px;align-items:center;justify-content:center;gap:1px;color:#4e575b;line-height:1}.skip-label b{font-size:10px;font-weight:900}.skip-label small{font-size:11px;font-weight:820;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.transport .play-main{width:40px;height:40px;margin:auto;border-radius:8px;background:var(--ink);color:white;font-size:18px}.play-main span{display:block;transform:translateX(1px)}.seek-row{display:grid;grid-template-columns:49px 1fr 49px;gap:5px;align-items:center}.seek-row button{min-height:32px;padding:0;border:0;background:transparent;font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;cursor:pointer}.seek-row input{width:100%;margin:0;accent-color:var(--accent-strong);cursor:pointer}.volume-row{display:grid;grid-template-columns:49px minmax(0,1fr) 49px;gap:5px;align-items:center;color:var(--ink)}.volume-row>svg,.volume-toggle{justify-self:center}.volume-toggle{display:grid;width:44px;min-height:36px;padding:0;place-items:center;border:0;border-radius:6px;background:transparent;color:var(--ink);cursor:pointer}.volume-toggle[aria-pressed=true],.volume-visibility-button.is-active{background:#e4eaf2}.volume-row input{width:100%;min-height:32px;margin:0;accent-color:var(--ink);cursor:pointer}.volume-row output{text-align:center;font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.audio-message{min-height:5px;display:flex;justify-content:center;align-items:center;gap:8px;color:var(--muted);font-size:10px}.audio-message button{padding:0;border:0;border-bottom:1px solid;background:transparent;color:var(--accent-strong);cursor:pointer}.sync-setup-banner{margin:4px 0 5px;padding:9px 10px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-radius:9px;background:#fff3d7;color:#664d17}.sync-setup-banner>div{min-width:0;display:flex;flex-direction:column;gap:2px}.sync-setup-banner strong{font-size:12px}.sync-setup-banner small,.sync-setup-banner span{font-size:10px;line-height:1.4}.sync-setup-banner small{max-width:290px}.sync-setup-banner button{min-height:34px;padding:0 10px;flex:0 0 auto;border:0;border-radius:8px;background:#664d17;color:white;font-size:10px;font-weight:700;cursor:pointer}.card-list{padding:13px 10px max(34px,env(safe-area-inset-bottom));background:var(--canvas);scrollbar-width:thin}.card-slot{position:relative}.cue-row{display:grid;grid-template-columns:58px minmax(0,1fr);gap:7px;border-radius:13px;transition:background-color .12s ease}.cue-row.is-current{background:var(--canvas)}.cue-row.is-current .cue-card,.cue-row.is-current .cue-time{border-color:var(--accent-strong);border-width:2px}.cue-time{display:flex;flex-direction:column;align-items:center;padding:8px 4px 6px;border:1px solid #e2e6e7;border-radius:11px;background:var(--surface);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cue-time>button{border:0;background:transparent;cursor:pointer}.cue-time>button:disabled{opacity:1;color:inherit;cursor:default}.cue-time>button:first-child{min-width:48px;min-height:34px;padding:0 2px;border-radius:8px;font-size:13px;font-weight:720}.cue-time .cue-pause,.cue-time .cue-play{display:grid;align-self:center;margin-inline:auto;padding:0;place-items:center}.cue-time .cue-play{width:48px;height:48px;color:#555f63;font-size:14px}.cue-time .cue-pause{width:48px;height:38px;color:#687175;font-size:13px}.is-current .cue-pause,.is-current .cue-play{color:var(--accent-strong)}.cue-card{min-width:0;padding:3px 11px 9px;border:1px solid #e2e6e7;border-radius:11px;background:var(--surface)}.cue-card.is-tappable{cursor:pointer;touch-action:pan-y;-webkit-user-select:none;user-select:none}.cue-card.is-tappable *{pointer-events:none}.cue-card.is-tappable:focus-visible{outline:3px solid rgba(47,107,89,.22);outline-offset:2px}.cue-title-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 36px;align-items:start}.cue-title{width:100%;min-height:32px;padding:3px;border:0;border-radius:5px;background:transparent;color:var(--ink);font-size:16px;font-weight:720;text-align:left}.cue-title::placeholder{color:#abb1b4;font-weight:500}.cue-title[readonly],.memo[readonly]{cursor:default}.card-menu{width:36px;height:32px;margin:-1px -5px 0 0;border-radius:50%;font-size:21px}.soft-divider{height:1px;margin:2px 0 9px;background:#eff1f2}.member-chips{display:flex;flex-wrap:wrap;gap:6px}.member-add,.member-chip{min-height:34px;border:0;border-radius:17px;cursor:pointer}.member-chip{min-height:30px;padding:0 9px;border-radius:8px;font-size:12px;touch-action:pan-y;-webkit-user-select:none;user-select:none}.member-chip:not(:disabled){cursor:grab}.member-chip.is-dragging{position:relative;z-index:2;opacity:.7;cursor:grabbing;transform:scale(1.03)}.member-chip:disabled{opacity:1;cursor:default}.member-add{min-width:38px;padding:0 10px;background:#eef1f2;color:#4f585c;font-size:17px}.memo{display:block;width:100%;min-height:34px;margin-top:7px;padding:7px 3px 2px;border:0;border-radius:5px;resize:none;overflow:hidden;background:transparent;color:#50585c;line-height:1.5;text-align:left}.memo::placeholder{color:#a7adb0}.add-between-row{height:32px;margin-left:65px;display:flex;justify-content:center}.add-between{display:grid;width:20%;height:32px;place-items:center;border:0;background:transparent;color:#777f83;font-size:18px;cursor:pointer}.add-between.is-hidden{visibility:hidden}.scroll-tail{height:60%;min-height:180px;pointer-events:none}.follow-button{position:absolute;right:16px;bottom:max(18px,env(safe-area-inset-bottom));z-index:9;min-height:40px;padding:0 14px;border:1px solid #d8dede;border-radius:20px;background:rgba(255,255,255,.97);box-shadow:0 5px 20px rgba(26,37,41,.13);color:var(--accent-strong);font-size:12px;font-weight:700;cursor:pointer}.empty-state{min-height:0;display:grid;place-content:center;justify-items:center;gap:16px;background:var(--canvas);color:var(--muted)}.empty-state p{margin:0}.empty-state button{width:52px;height:52px;border:1px solid #dce1e2;border-radius:50%;background:var(--surface);color:var(--ink);font-size:23px;cursor:pointer}.appearance-list{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:10px 8px max(28px,env(safe-area-inset-bottom));background:var(--canvas)}.appearance-list-heading{min-height:45px;margin-bottom:8px;padding:0 4px;display:grid;grid-template-columns:44px minmax(0,1fr) 52px;align-items:center}.appearance-list-heading>button{min-height:38px;border:0;border-radius:8px;background:transparent;color:var(--accent-strong);font-size:13px;font-weight:700;cursor:pointer}.appearance-list-heading>button:first-child{font-size:20px}.appearance-list-heading>div{min-width:0;display:flex;align-items:center;justify-content:center;gap:7px}.appearance-list-heading strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.appearance-heading-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:1px}.appearance-heading-copy small{max-width:100%;overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px}.appearance-heading-dot{width:13px;height:13px;flex:0 0 auto;border:1px solid rgba(0,0,0,.05);border-radius:50%}.appearance-shows{display:flex;flex-direction:column;gap:9px}.appearance-show{min-height:128px;padding:7px;display:grid;grid-template-columns:92px minmax(0,1fr);gap:7px;border:1px solid rgba(214,219,220,.9);border-radius:12px;background:rgba(255,255,255,.42);transition:opacity .12s ease,filter .12s ease}.appearance-show.is-muted{opacity:.42;filter:grayscale(.5)}.appearance-show-name{min-width:0;padding:8px 5px;display:flex;flex-direction:column;justify-content:center;gap:6px;border-radius:8px;background:rgba(255,255,255,.8)}.appearance-show-name strong{overflow-wrap:anywhere;font-size:13px;line-height:1.45}.appearance-show-name small{color:var(--muted);font-size:10px}.appearance-card-strip{min-width:0;display:flex;gap:7px;overflow-x:auto;overscroll-behavior-x:contain;padding:1px 2px 7px;scroll-snap-type:x proximity;scrollbar-width:thin}.appearance-card{width:158px;min-width:158px;min-height:112px;padding:7px 8px;display:flex;flex-direction:column;align-items:flex-start;gap:5px;border:1px solid #dce1e2;border-radius:9px;scroll-snap-align:start;background:white;color:var(--ink);text-align:left;cursor:pointer;transition:opacity .12s ease,filter .12s ease,box-shadow .12s ease}.appearance-card:disabled{opacity:1;cursor:default}.appearance-card.is-mine{border-color:var(--member-color);box-shadow:0 0 0 2px var(--member-color)}.appearance-card.is-dimmed{opacity:.38;filter:grayscale(.45)}.appearance-card.is-current{opacity:1;border-color:var(--accent-strong);box-shadow:0 0 0 2px var(--accent-strong),0 4px 12px rgba(47,107,89,.16);filter:none}.appearance-card-time{color:var(--accent-strong);font-size:11px;font-weight:780;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.appearance-card>strong{width:100%;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:13px;line-height:1.35}.appearance-card-members{width:100%;overflow:hidden;color:#566064;font-size:9px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.appearance-card-note{width:100%;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:var(--muted);font-size:10px;line-height:1.35;white-space:pre-line}.appearance-sheet-note{margin:-7px 0 12px;color:var(--muted);font-size:12px;line-height:1.5}.appearance-member-list{max-height:min(58dvh,520px)}.pack-heading-icon{font-size:15px}.pack-show{background:rgba(255,255,255,.56)}.pack-show-title{width:100%;border:0;color:inherit;text-align:left;cursor:pointer}.pack-show-title:disabled{opacity:1;cursor:default}.pack-card{opacity:1;filter:none}.pack-card-members{display:flex;flex-wrap:wrap;gap:3px;overflow:visible;text-overflow:clip;white-space:normal}.pack-card-member-chip{max-width:100%;padding:2px 5px;border-radius:5px;overflow-wrap:anywhere;font-size:9px;font-weight:720;line-height:1.25}.pack-empty{min-height:180px;display:grid;place-content:center;justify-items:center;gap:10px;color:var(--muted);text-align:center}.pack-empty p{margin:0;font-size:13px}.pack-empty button{min-height:40px;padding:0 14px;border:0;border-radius:9px;background:white;color:var(--accent-strong);font-weight:700;cursor:pointer}.popover{position:absolute;z-index:30;min-width:150px;overflow:hidden;border:1px solid #e0e4e5;border-radius:11px;background:white;box-shadow:var(--shadow)}.popover button{width:100%;min-height:44px;padding:0 15px;border:0;border-bottom:1px solid #eef0f1;background:white;text-align:left;cursor:pointer}.popover button:last-child{border-bottom:0}.popover button:hover{background:#f7f8f8}.popover .danger{color:var(--danger)}.app-menu{top:44px;right:0}.card-popover{top:34px;right:-2px}.management-screen{min-height:0;grid-row:1/-1;display:grid;grid-template-rows:auto minmax(0,1fr);background:var(--canvas)}.management-header{padding:max(10px,env(safe-area-inset-top)) 10px 10px;display:grid;grid-template-columns:48px 1fr 48px;align-items:center;border-bottom:1px solid var(--line);background:white}.management-header button{width:44px;height:44px;border-radius:50%;font-size:23px;cursor:pointer}.management-header h1{margin:0;font-size:18px;text-align:center}.management-list{min-height:0;overflow-y:auto;padding:12px 10px 34px}.management-section-title{margin:0 2px 8px;color:var(--muted);font-size:12px;font-weight:760;letter-spacing:.04em}.group-section-title{margin-top:22px}.management-row{position:relative;min-height:58px;display:grid;grid-template-columns:42px minmax(0,1fr) 42px 42px;align-items:center;border-bottom:1px solid #e7e9ea;background:white}.management-row:first-child{border-radius:11px 11px 0 0}.management-row .drag-handle,.management-row .row-menu,.management-row .row-name{border:0;background:transparent;cursor:pointer}.drag-handle{width:42px;height:48px;color:#798185;font-size:22px;touch-action:none;-webkit-user-select:none;user-select:none}.member-row.is-dragging{position:relative;z-index:2;background:var(--accent);box-shadow:0 4px 14px rgba(22,31,35,.12)}.row-name{min-width:0;height:48px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:680;text-align:left}.row-name.text{height:auto}.routine-management-row{grid-template-columns:42px minmax(0,calc(50% - 42px)) minmax(0,1fr) 42px 42px}.routine-management-row .routine-audio-button{grid-column:4}.routine-management-row .row-menu{grid-column:5}.routine-audio-button{display:grid;width:42px;min-height:48px;padding:0;place-items:center;border:0;border-radius:7px;background:transparent;color:#b5bcc5;cursor:pointer}.routine-audio-button.is-set{color:var(--ink)}.row-menu{width:42px;height:48px;font-size:22px}.audio-dot{color:#a1a8ab;font-size:17px;text-align:center}.audio-dot.set{color:var(--accent-strong)}.row-popover{top:44px;right:6px}.management-add{display:flex;width:100%;min-height:54px;margin-top:10px;align-items:center;gap:7px;border:0;border-radius:11px;background:white;color:var(--accent-strong);font-weight:700;text-align:left;padding-left:15px;cursor:pointer}.member-row{grid-template-columns:42px 36px minmax(0,1fr) 42px}.group-row{grid-template-columns:42px 36px minmax(0,1fr) 52px}.pack-management-row{grid-template-columns:42px minmax(0,1fr) 48px 42px}.pack-row-icon{font-size:18px;text-align:center}.pack-show-count{color:var(--muted);font-size:11px;text-align:center}.management-empty-copy{margin:12px 3px;color:var(--muted);font-size:13px;text-align:center}.group-mark{color:var(--accent-strong);font-size:18px;text-align:center}.group-row-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.group-row-copy b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.group-row-copy small,.system-label{color:var(--muted);font-size:11px}.system-label{text-align:center}.color-dot{width:22px;height:22px;border:1px solid rgba(0,0,0,.06);border-radius:50%;cursor:pointer}.settings-list{padding:15px 11px;display:flex;flex-direction:column;gap:8px}.settings-list>div{min-height:64px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;border-radius:11px;background:white}.settings-list span{font-weight:680}.settings-list b,.settings-list button{color:var(--accent-strong);font-size:13px}.settings-list button{min-height:40px;border:0;background:transparent;font-weight:650;cursor:pointer}.sheet-backdrop{position:absolute;inset:0;z-index:60;display:flex;align-items:flex-end;justify-content:center;background:rgba(24,31,34,.34)}.bottom-sheet{position:relative;width:min(100%,620px);max-height:min(84dvh,720px);overflow-y:auto;padding:22px 18px max(22px,env(safe-area-inset-bottom));border-radius:20px 20px 0 0;background:white;box-shadow:0 -12px 38px rgba(19,27,31,.13)}.sheet-grabber{position:absolute;top:8px;left:50%;width:38px;height:4px;border-radius:3px;transform:translateX(-50%);background:#d9dddf}.sheet-close{position:absolute;top:13px;right:12px;width:42px;height:42px;border-radius:50%;color:var(--muted);font-size:25px}.bottom-sheet h2{margin:5px 44px 18px 0;font-size:18px}.wheel-list{max-height:min(64dvh,500px);overflow-y:auto;scroll-snap-type:y mandatory;border-block:1px solid var(--line)}.wheel-list button{width:100%;height:48px;border:0;border-bottom:1px solid #f0f2f2;scroll-snap-align:center;background:white;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;cursor:pointer}.wheel-list button.selected{background:var(--accent);color:var(--accent-strong);font-weight:700}.choice-list{max-height:55dvh;overflow-y:auto}.choice-list button{width:100%;min-height:40px;display:grid;grid-template-columns:26px 1fr 26px;align-items:center;border:0;border-bottom:1px solid #eef0f1;background:white;text-align:left;cursor:pointer}.choice-heading,.group-form-heading{margin:15px 0 7px;color:var(--muted);font-size:12px;font-weight:760}.choice-heading:first-of-type{margin-top:0}.choice-dot{width:17px;height:17px;border-radius:50%}.check{color:var(--accent-strong);font-weight:800;text-align:center}.pack-selector-list{max-height:min(48dvh,430px)}.pack-selector-list button>span:nth-child(2){min-width:0;display:flex;flex-direction:column;gap:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pack-selector-list small{color:var(--muted);font-size:10px}.pack-choice-icon{font-size:16px;text-align:center}.secondary-action{background:var(--accent);color:var(--accent-strong)}.pack-locked-note{margin:12px 1px 0;color:var(--muted);font-size:12px;text-align:center}.sheet-divider{height:1px;margin-top:10px;background:#dde1e2}.remove-choice{width:100%;min-height:52px;border:0;background:white;color:var(--danger);text-align:left;cursor:pointer}.form-field{display:block;margin:12px 0}.form-field span{display:block;margin-bottom:7px;color:var(--muted);font-size:12px;font-weight:650}.form-field input{width:100%;min-height:48px;padding:0 12px;border:1px solid #d9dede;border-radius:9px;background:white}.form-note{margin:-2px 1px 12px;color:var(--muted);font-size:12px;line-height:1.5}.form-error{margin:8px 1px;color:var(--danger);font-size:12px}.primary-action{width:100%;min-height:48px;margin-top:9px;border:0;border-radius:10px;background:var(--ink);color:white;font-weight:700;cursor:pointer}.danger-fill{background:var(--danger)}.confirm-copy{padding:15px;border-radius:10px;background:#f8eeee;color:#6f3835;line-height:1.6}.chip-preview{width:fit-content;min-height:36px;margin:0 0 17px;padding:8px 14px;border-radius:18px;font-size:13px}.color-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.group-color-grid{margin-bottom:14px}.group-member-list{overflow:hidden;border:1px solid var(--line);border-radius:10px}.group-member-list button{width:100%;min-height:42px;padding:0 10px;display:grid;grid-template-columns:28px 1fr 28px;align-items:center;border:0;border-bottom:1px solid #eef0f1;background:white;text-align:left;cursor:pointer}.group-member-list button:last-child{border-bottom:0}.group-member-list button.selected{background:var(--accent);color:var(--accent-strong);font-weight:700}.pack-add-list,.pack-order-list{overflow:hidden;border:1px solid var(--line);border-radius:10px}.pack-order-row{min-height:48px;display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;border-bottom:1px solid #eef0f1;background:white}.pack-order-row:last-child{border-bottom:0}.pack-order-row>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.pack-order-row b{display:inline-grid;place-items:center;min-width:22px;height:22px;margin-right:5px;border-radius:7px;background:var(--accent);color:var(--accent-strong);font-size:10px}.pack-drag-handle,.pack-remove{height:46px;border:0;background:transparent;cursor:pointer}.pack-drag-handle{color:var(--muted);font-size:21px;touch-action:none;-webkit-user-select:none;user-select:none}.pack-remove{color:var(--danger);font-size:20px}.pack-empty-order{margin:0;padding:14px;border-radius:10px;background:#f6f7f7;color:var(--muted);font-size:12px;text-align:center}.pack-add-heading{margin-top:18px}.pack-add-list{max-height:220px;overflow-y:auto}.pack-add-list button{width:100%;min-height:44px;padding:0 11px;display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;border:0;border-bottom:1px solid #eef0f1;background:white;text-align:left;cursor:pointer}.pack-add-list button:last-child{border-bottom:0}.pack-add-list span{color:var(--accent-strong);font-size:17px}.color-grid button{aspect-ratio:1;border:2px solid white;border-radius:50%;box-shadow:0 0 0 1px #d8dcdd;cursor:pointer}.color-grid button.selected{box-shadow:0 0 0 3px var(--accent-strong)}.background-note{margin:-5px 0 14px;color:var(--muted);font-size:12px;line-height:1.5}.background-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.background-grid button{min-height:54px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;border:2px solid transparent;border-radius:9px;font-size:13px;font-weight:700;cursor:pointer}.background-grid button.selected{border-color:var(--accent-strong);box-shadow:inset 0 0 0 1px white}.background-grid b{font-size:16px}.custom-color{margin-top:20px;display:flex;align-items:center;justify-content:space-between}.custom-color span{font-size:14px;font-weight:650}.custom-color input{width:56px;height:40px;border:0;background:transparent}.snackbar,.toast{position:absolute;z-index:80;left:50%;max-width:calc(100% - 28px);transform:translateX(-50%);border-radius:10px;background:#2f3639;color:white;box-shadow:var(--shadow)}.snackbar{bottom:max(16px,env(safe-area-inset-bottom));min-width:248px;min-height:49px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 13px;font-size:13px}.snackbar button{min-height:42px;border:0;background:transparent;color:#bfe6d8;font-weight:750;cursor:pointer}.toast{bottom:max(18px,env(safe-area-inset-bottom));padding:12px 16px;font-size:13px;text-align:center}@media (min-width:781px){body{padding:20px}.app-shell{height:calc(100dvh - 40px);border:1px solid #e0e4e5;border-radius:18px;box-shadow:0 10px 34px rgba(28,37,41,.08)}.card-list{padding-inline:22px}.sheet-backdrop{border-radius:18px}.bottom-sheet{border-radius:20px;margin-bottom:14px}}@media (max-width:360px){.player-panel{padding-inline:8px}.card-list{padding-inline:6px}.cue-row{grid-template-columns:52px minmax(0,1fr);gap:4px}.cue-card{padding-inline:9px}.show-select{font-size:18px}.pack-chip{max-width:62px;padding-inline:7px}.appearance-member-chip{max-width:65px;padding-inline:7px}.appearance-show{grid-template-columns:78px minmax(0,1fr);padding-inline:5px}.appearance-card{width:150px;min-width:150px}.color-grid{grid-template-columns:repeat(5,1fr)}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.routine-edit-action{display:flex;align-items:center;gap:8px}.routine-edit-action svg{flex-shrink:0}.background-palette{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 8px}.background-palette button{display:grid;justify-items:center;gap:6px;min-height:76px;padding:4px;border:0;background:transparent;font-size:14px;cursor:pointer}.background-swatch{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--line);border-radius:5px;color:var(--ink)}.background-palette button[aria-pressed=true] .background-swatch{border:2px solid var(--ink)}.custom-background{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;font-size:16px}.custom-background input{width:64px;height:48px;padding:3px;border:1px solid var(--line);border-radius:5px;background:var(--surface);cursor:pointer}.player-title-group .show-select{font-size:18px;text-align:left}.player-title-group .show-select span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-title-group{position:relative}.player-title-group .show-select{position:relative;z-index:22}.routine-dropdown-backdrop{position:fixed;inset:0;z-index:20}.routine-dropdown{position:absolute;top:calc(100% + 6px);left:0;z-index:21;width:min(300px,calc(100vw - 48px));max-height:min(65dvh,420px);overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--ink);border-radius:5px;background:var(--surface);box-shadow:var(--shadow)}.routine-dropdown .routine-choice>button{font-size:16px;min-height:48px}.routine-dropdown .routine-choice>button svg{flex-shrink:0}.routine-dropdown-edit{width:100%;min-height:44px;padding:8px 12px;border:0;background:var(--surface);color:var(--muted);text-align:left;font-size:14px;cursor:pointer}.delay-value input{width:4ch}.delay-adjustment{position:relative}.delay-number{display:flex;align-items:center;gap:2px;min-height:44px;padding:0 3px;border:0;background:transparent;color:inherit;font:inherit;font-size:16px;cursor:pointer}.delay-number span{font-size:12px}.delay-stepper{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);z-index:24;display:flex;align-items:center;gap:4px;padding:5px;border:1px solid var(--ink);border-radius:5px;background:var(--surface);box-shadow:var(--shadow)}.delay-stepper button{width:44px;height:44px;border:0;border-radius:5px;background:var(--accent);color:var(--ink);font-size:22px;cursor:pointer}.delay-stepper input{width:6ch;min-height:44px;font-size:16px;text-align:center}.player-panel{padding-bottom:5px}.player-panel>.top-row{margin-bottom:max(5px,env(safe-area-inset-top))}.save-status{height:auto;min-height:16px}.save-status,.save-status button{font-size:12px}.audio-message{font-size:12px;min-height:12px;flex-wrap:wrap}.seek-row button,.volume-row output{font-size:14px}.seek-row input,.volume-row input{min-height:36px}.card-list{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:12px 8px max(28px,env(safe-area-inset-bottom))}.cue-time>button:first-child{font-size:14px}.cue-time .cue-repeat{display:grid;place-items:center;gap:1px;width:48px;min-height:44px;margin-inline:auto;padding:3px 0;border:1px solid transparent;border-radius:6px;color:var(--muted);font-size:17px}.cue-repeat small{font-size:9px;font-weight:700;line-height:1}.cue-time .cue-repeat[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:white}.cue-row.is-repeating .cue-card{box-shadow:inset 3px 0 0 var(--ink)}.add-between-row{height:44px;margin-left:0;align-items:center}.top-row>.top-actions{flex-wrap:nowrap;align-items:center}.top-actions>.icon-button{display:grid;place-items:center;flex:0 0 auto;padding:0;height:44px;min-height:44px;line-height:1}.top-actions>.icon-button svg{display:block}.icon-button.lock-button,.icon-button.volume-visibility-button{border-radius:5px}.add-between{width:max(20%,64px);height:44px}.card-menu{height:40px}.management-row{background:var(--surface)}.routine-management-row{grid-template-columns:minmax(0,50%) minmax(0,1fr) 44px 44px}.routine-management-row .row-name{grid-column:1;padding-inline:12px;height:56px}.routine-management-row .routine-audio-button{grid-column:3;width:44px;min-height:48px}.routine-management-row .row-menu{grid-column:4;min-height:48px}.routine-management-row .row-popover{top:48px;right:4px}.management-add{min-height:48px}.routine-choice{display:flex;flex-direction:column}.routine-choice>button{width:100%;min-height:52px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;border-bottom:1px solid var(--line);background:var(--surface);text-align:left;cursor:pointer}.routine-choice>button span{overflow-wrap:anywhere}.routine-choice>button.is-selected{background:var(--accent)}.bottom-sheet{background:var(--surface)}.confirm-copy,.form-error,.form-field span,.form-note{font-size:14px}.form-field input{font-size:16px}.local-track-name{padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--accent);font-size:14px;overflow-wrap:anywhere}.local-audio-note{margin-top:10px}.form-error{line-height:1.6}.wheel-list button{background:var(--surface)}.locked-hint{color:var(--muted);font-size:14px;line-height:1.6}.empty-state{padding:16px;text-align:center}.empty-state .locked-hint{max-width:280px}.show-empty{padding:30px 12px;color:var(--muted);text-align:center}@media (max-width:480px){.player-title-group .show-select{padding-inline:0;font-size:14px}.top-row{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.top-row .icon-button{width:32px;min-height:44px}.delayed-start{padding-inline:5px;gap:0}.delay-value{gap:2px}.delay-value input{font-size:16px;min-height:44px}.delayed-start>button{width:28px;min-height:44px}}@media (max-width:359px){.top-row .icon-button{width:28px}.player-panel{margin-inline:5px;padding-inline:6px}}