:root{--ink:#18241f;--muted:#66726d;--paper:#f4efe5;--panel:#fffdf7eb;--panel-solid:#fffdf7;--line:#2f473c26;--emerald:#245f4b;--emerald-dark:#173e34;--emerald-soft:#dce9df;--gold:#c99a48;--gold-soft:#f4e2bc;--wood:#a66c41;--danger:#9f463b;--shadow:0 18px 50px #372b1c1c}*{box-sizing:border-box}html{background:var(--paper);scrollbar-gutter:stable;min-width:320px}body{min-height:100vh;color:var(--ink);background:radial-gradient(circle at 15% 0%, #ffffffe6, transparent 30rem), radial-gradient(circle at 95% 100%, #b9d0c26b, transparent 34rem), var(--paper);font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-style:normal}button,input,textarea,select{font:inherit;font-style:normal}button{color:inherit}button:focus-visible{outline-offset:2px;outline:3px solid #c99a4875}input:focus-visible{outline-offset:2px;outline:3px solid #c99a4875}textarea:focus-visible{outline-offset:2px;outline:3px solid #c99a4875}select:focus-visible{outline-offset:2px;outline:3px solid #c99a4875}.studio-shell{width:min(1920px,100%);min-height:100vh;margin:0 auto;padding:14px clamp(12px,1.5vw,24px) 10px}.studio-header{justify-content:space-between;align-items:center;gap:24px;min-height:68px;margin-bottom:16px;display:flex}.brand-lockup,.header-actions,.board-toolbar,.board-toolbar-end,.view-buttons,.piece-group-heading,.fen-heading,.studio-footer{align-items:center;display:flex}.brand-lockup{gap:14px}.brand-lockup h1,.panel-heading h2{letter-spacing:-.01em;margin:0;font-style:normal}.brand-lockup h1{font-size:clamp(1.28rem,2vw,1.72rem);font-style:normal;font-weight:700}.eyebrow{color:var(--emerald);letter-spacing:.14em;text-transform:uppercase;margin:0 0 3px;font-size:.68rem;font-weight:800;line-height:1.2}.brand-cube{place-items:center;width:42px;height:42px;display:grid;position:relative;transform:rotate(30deg)skew(-4deg)}.brand-cube i{background:var(--emerald);border:1px solid #183e343d;border-radius:5px;width:24px;height:24px;position:absolute;box-shadow:0 8px 14px #173e342e}.brand-cube i:nth-child(2){background:var(--gold);opacity:.92;transform:translate(8px,-7px)}.brand-cube i:nth-child(3){background:#efe4cd;width:10px;height:10px;transform:translate(-8px,7px)}.header-actions{justify-content:flex-end;gap:8px}.mode-switch{border:1px solid var(--line);background:#ffffff80;border-radius:12px;gap:3px;padding:3px;display:flex}.mode-switch button{min-height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:0 13px;font-size:.74rem;font-weight:800}.mode-switch button.is-active{color:#fff;background:var(--emerald);box-shadow:0 4px 12px #245f4b33}.position-count{border:1px solid var(--line);color:var(--muted);background:#ffffff8c;border-radius:999px;margin-right:4px;padding:7px 11px;font-size:.78rem;font-weight:700}.quiet-button,.primary-button,.load-button,.board-toolbar button,.preset-grid button,.fen-heading button{border:1px solid var(--line);cursor:pointer;border-radius:10px;transition:transform .15s,border-color .15s,background .15s,color .15s,box-shadow .15s}.quiet-button,.primary-button{min-height:38px;padding:0 14px;font-size:.78rem;font-weight:760}.quiet-button{background:#ffffffa8}.quiet-button:disabled{cursor:not-allowed;opacity:.4}.primary-button,.load-button{border-color:var(--emerald);color:#fff;background:var(--emerald);box-shadow:0 8px 20px #245f4b33}.primary-button:hover,.load-button:hover{background:var(--emerald-dark);transform:translateY(-1px)}.studio-grid{grid-template-columns:minmax(230px,270px) minmax(520px,1fr) minmax(280px,330px);align-items:stretch;gap:14px;min-height:calc(100vh - 132px);display:grid}.studio-grid.is-play-mode{grid-template-columns:minmax(0,1fr) 330px;width:min(1600px,100%);height:calc(100svh - 110px);min-height:500px;max-height:calc(100svh - 110px);margin-inline-start:auto;margin-inline-end:auto;overflow:hidden}.panel,.board-stage{background:var(--panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid #36483f21;border-radius:20px;overflow:hidden}.panel{scrollbar-width:thin;scrollbar-color:#245f4b3d transparent;padding:20px;overflow-y:auto}.panel-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;display:flex}.panel-heading h2{font-size:1.18rem}.step-chip{width:32px;height:32px;color:var(--emerald);background:var(--emerald-soft);border-radius:10px;flex:none;place-items:center;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;font-weight:800;display:grid}.tool-stack{gap:7px;display:grid}.tool-button{cursor:pointer;text-align:left;background:#f4efe5b8;border:1px solid #0000;border-radius:12px;justify-content:space-between;align-items:center;width:100%;min-height:54px;padding:10px 10px 10px 12px;transition:background .15s,border-color .15s,transform .15s;display:flex}.tool-button:hover{border-color:#245f4b29;transform:translate(2px)}.tool-button.is-active{background:var(--emerald-soft);border-color:#245f4b4d}.tool-copy{gap:2px;display:grid}.tool-copy strong{color:var(--ink);font-size:.82rem}.tool-copy span{color:var(--muted);font-size:.68rem;line-height:1.35}kbd{width:26px;height:26px;color:var(--muted);background:var(--panel-solid);border:1px solid #2f473c29;border-bottom-width:2px;border-radius:7px;place-items:center;font:700 .67rem ui-monospace,SFMono-Regular,Menlo,monospace;display:grid}.section-rule{background:var(--line);height:1px;margin:18px 0}.piece-group+.piece-group{margin-top:16px}.piece-group-heading{color:var(--muted);gap:8px;margin-bottom:8px;font-size:.72rem;font-weight:740}.color-dot{border:1px solid #18241f2e;border-radius:50%;width:9px;height:9px}.color-dot.white{background:#f4ead3}.color-dot.black{background:var(--emerald-dark)}.piece-grid{grid-template-columns:repeat(6,1fr);gap:5px;display:grid}.piece-button{aspect-ratio:.82;cursor:pointer;background:#f4efe5b8;border:1px solid #2f473c24;border-radius:9px;place-items:center;min-width:0;transition:border-color .15s,background .15s,transform .15s,box-shadow .15s;display:grid;position:relative}.piece-button:hover{z-index:2;transform:translateY(-2px)}.piece-button.is-selected{border-color:var(--gold);background:var(--gold-soft);box-shadow:0 5px 15px #7a531e21}.piece-button>span{margin-top:-2px;font:400 clamp(1.35rem,2vw,1.8rem)/1 Georgia,Times New Roman,serif}.piece-button.black>span{color:var(--emerald-dark)}.piece-button>img{object-fit:contain;width:min(82%,42px);height:min(82%,42px)}.piece-button small{color:var(--muted);font-size:.48rem;font-weight:800;position:absolute;bottom:3px;right:4px}.preset-heading{color:var(--muted);margin-bottom:9px;font-size:.72rem;font-weight:750}.preset-grid{grid-template-columns:1fr 1fr;gap:7px;display:grid}.preset-grid button{background:#ffffff94;min-height:37px;padding:7px 9px;font-size:.68rem;font-weight:720}.preset-grid button:hover,.board-toolbar button:hover,.fen-heading button:hover{background:var(--emerald-soft);border-color:#245f4b57}.preset-grid .danger-quiet{color:var(--danger)}.right-click-note,.field-help,.field-error,.warning-card p{margin:8px 0 0;font-size:.66rem;line-height:1.45}.right-click-note,.field-help{color:var(--muted)}.board-stage{background:#d9cdbc;grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);width:100%;min-width:0;min-height:clamp(560px,100svh - 132px,920px);display:grid;position:relative}.studio-grid.is-play-mode .board-stage{grid-template-rows:minmax(0,1fr);height:100%;min-height:0;max-height:100%}.play-status-bar{z-index:6;color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#173e34e6;border:1px solid #ffffff5c;border-radius:14px;grid-template-columns:auto auto;gap:2px 9px;min-width:210px;padding:9px 14px;display:grid;position:absolute;top:66px;left:50%;transform:translate(-50%);box-shadow:0 10px 28px #14251f2e}.play-status-bar .play-turn-dot{background:#83d8ad;border-radius:50%;grid-row:1/span 2;align-self:center;width:9px;height:9px;box-shadow:0 0 0 4px #83d8ad24}.play-status-bar strong{font-size:.76rem}.play-status-bar>span:last-child{color:#ffffffb8;font-size:.62rem}.play-status-bar.check{background:#8b4a22eb}.play-status-bar.game-over{background:#6d2d2aed}.board-toolbar{z-index:4;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdf7db;border-bottom:1px solid #3d4a4321;justify-content:space-between;gap:12px;min-height:54px;padding:8px 10px;position:relative}.view-buttons,.board-toolbar-end{flex-wrap:wrap;gap:5px}.board-toolbar button{background:#ffffff94;min-height:32px;padding:0 10px;font-size:.66rem;font-weight:740}.board-toolbar-end>button:first-of-type{background:var(--gold-soft);border-color:#c99a4859}.board-viewport,.board-host{min-width:0;min-height:0;position:relative}.board-viewport{isolation:isolate;background:#d9cdbc;width:100%;max-width:100%;overflow:hidden}.board-host,.board-canvas{width:100%;height:100%}.board-canvas{touch-action:none;cursor:grab;display:block}.board-canvas:active{cursor:grabbing}.viewport-status{z-index:3;color:#ffffffeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#172a23bd;border:1px solid #ffffff52;align-items:center;display:flex;position:absolute;box-shadow:0 8px 22px #1f201b24}.promotion-picker{z-index:8;min-width:260px;color:var(--ink);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffdf7f5;border:1px solid #ffffff80;border-radius:18px;gap:5px;padding:18px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 24px 70px #1c241f47}.promotion-picker>span{color:var(--muted);font-size:.7rem}.promotion-picker>div{grid-template-columns:repeat(4,1fr);gap:7px;margin-top:7px;display:grid}.promotion-picker button{aspect-ratio:1;border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:12px;place-items:center;display:grid}.promotion-picker button:hover{border-color:var(--gold);background:var(--gold-soft)}.promotion-picker img{object-fit:contain;width:78%;height:78%}.viewport-status{border-radius:999px;gap:8px;max-width:calc(100% - 28px);min-height:34px;padding:7px 11px;font-size:.68rem;font-weight:720;top:14px;left:14px}.status-dot{border-radius:50%;flex:none;width:8px;height:8px}.status-dot.ready{background:#80d7ab;box-shadow:0 0 0 4px #80d7ab21}.status-dot.active{background:#ffd07a;box-shadow:0 0 0 4px #ffd07a21}.camera-help{min-height:38px;color:var(--muted);background:#fffdf7e0;border-top:1px solid #3d4a4321;justify-content:center;align-items:center;gap:20px;padding:8px 14px;font-size:.63rem;display:flex;box-shadow:0 -6px 18px #1f201b0a}.camera-help span{white-space:nowrap}.camera-help b{color:var(--emerald);font-weight:800}.field-group{margin-bottom:18px}.field-group>label,.field-group>.field-label,.castling-field legend,.compact-fields label,.fen-heading label{color:var(--muted);font-size:.7rem;font-weight:760}.segmented{border:1px solid var(--line);background:#f4efe5b3;border-radius:12px;grid-template-columns:1fr 1fr;gap:4px;margin-top:8px;padding:4px;display:grid}.segmented button{cursor:pointer;background:0 0;border:0;border-radius:9px;min-height:36px;font-size:.72rem;font-weight:750}.segmented button.is-active{color:#fff;background:var(--emerald);box-shadow:0 4px 12px #245f4b2e}.castling-field{border:0;padding:0}.check-grid{grid-template-columns:1fr 1fr;gap:7px;margin-top:9px;display:grid}.check-grid label{border:1px solid var(--line);cursor:pointer;background:#ffffff80;border-radius:10px;align-items:center;gap:7px;min-height:37px;padding:7px 8px;font-size:.64rem;line-height:1.2;display:flex}.check-grid input{width:14px;height:14px;accent-color:var(--emerald)}.compact-fields{grid-template-columns:1.2fr .9fr .9fr;gap:7px;display:grid}.compact-fields label{gap:6px;display:grid}.compact-fields select,.compact-fields input,.position-panel textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#ffffffad;transition:border-color .15s,box-shadow .15s}.compact-fields select,.compact-fields input{border-radius:9px;min-height:38px;padding:0 8px;font-size:.7rem}.theme-select-wrapper{align-items:center;display:inline-flex;position:relative}.theme-select{border:1px solid var(--line);background:var(--panel);min-height:41px;color:var(--ink);cursor:pointer;border-radius:12px;outline:none;padding:0 12px 0 10px;font-size:.74rem;font-weight:700;transition:border-color .14s,background .14s}.theme-select:hover{background:#fff;border-color:#245f4b59}.annotation-help-box{background:#dce9df66;border:1px solid #245f4b26;border-radius:10px;margin-top:14px;padding:10px 12px}.annotation-help-title{color:var(--emerald-dark);margin:0 0 4px;font-size:.68rem;font-weight:780}.floating-clear-marks{z-index:25;position:absolute;top:14px;right:14px}.clear-marks-btn{color:var(--emerald-dark)!important;background:#dce9dfcc!important;border-color:#245f4b4d!important;font-weight:750!important}.clear-marks-btn:hover{background:#fff!important}.opponent-box{flex-direction:column;gap:10px;margin-bottom:12px;display:flex}.opponent-selector{border:1px solid var(--line);background:#2f473c0d;border-radius:11px;grid-template-columns:1fr 1fr;gap:4px;padding:3px;display:grid}.opponent-selector button{min-height:32px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:8px;font-size:.68rem;font-weight:740;transition:background .12s,color .12s}.opponent-selector button.is-active{color:var(--emerald-dark);background:#fff;box-shadow:0 2px 8px #0000000f}.bot-controls{background:#ffffff8c;border:1px solid #245f4b26;border-radius:10px;flex-direction:column;gap:8px;padding:10px;display:flex}.bot-option-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.bot-label{color:var(--muted);font-size:.68rem;font-weight:750}.segmented-small{border:1px solid var(--line);background:#2f473c0d;border-radius:8px;gap:2px;padding:2px;display:flex}.segmented-small button{min-height:26px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:0 8px;font-size:.64rem;font-weight:700;transition:background .12s,color .12s}.segmented-small button.is-active{color:var(--emerald-dark);background:#fff;box-shadow:0 1px 4px #0000000d}.danger-quiet{color:var(--danger)!important}.danger-quiet:hover:not(:disabled){background:#9f463b14!important;border-color:#9f463b66!important}.danger-quiet.is-confirming{border-color:var(--danger)!important;background:var(--danger)!important;color:#fff!important;box-shadow:0 0 0 3px #9f463b40!important}.sidebar-resign-btn{width:100%;min-height:34px;color:var(--danger);cursor:pointer;background:#ffffffa6;border:1px solid #9f463b47;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:.74rem;font-weight:720;transition:transform .12s,border-color .12s,background .12s,color .12s,box-shadow .12s;display:inline-flex}.sidebar-resign-btn:hover:not(:disabled){border-color:var(--danger);background:#9f463b14}.sidebar-resign-btn.is-confirming{border-color:var(--danger);background:var(--danger);color:#fff;box-shadow:0 0 0 3px #9f463b40}.sidebar-resign-btn:disabled{opacity:.38;cursor:not-allowed;border-color:var(--line);color:var(--muted)}.fen-heading{justify-content:space-between;margin-bottom:7px}.fen-actions-mini{align-items:center;gap:6px;display:flex}.fen-actions-mini button{border:1px solid var(--line);cursor:pointer;background:#fff9;border-radius:6px;min-height:26px;padding:0 7px;font-size:.62rem;font-weight:700}.fen-load-row{align-items:center;gap:8px;margin-top:10px;display:flex}.fen-load-row .load-button{flex:1;margin-top:0}.bridge-link,.bridge-link-subtle{color:var(--emerald-dark);background:#ffffffb3;border:1px solid #245f4b40;border-radius:10px;justify-content:center;align-items:center;min-height:38px;padding:0 10px;font-size:.68rem;font-weight:750;text-decoration:none;transition:background .14s,border-color .14s;display:inline-flex}.bridge-link:hover,.bridge-link-subtle:hover{border-color:var(--emerald);background:#fff}.position-panel textarea{resize:vertical;border-radius:11px;min-height:94px;padding:10px;font:.69rem/1.55 ui-monospace,SFMono-Regular,Consolas,monospace}.position-panel textarea.has-error{border-color:#9f463b9e;box-shadow:0 0 0 3px #9f463b14}.field-error{color:var(--danger)}.load-button{cursor:pointer;width:100%;min-height:41px;margin-top:11px;font-size:.72rem;font-weight:780}.warning-card{background:#f4e2bc7a;border:1px solid #c99a484d;border-radius:12px;margin-top:14px;padding:12px}.warning-card strong{color:#78521d;font-size:.7rem}.warning-card p{color:#765b36}.sound-toggle{align-items:center;gap:5px;display:inline-flex}.sound-toggle.is-muted{opacity:.65}.play-history-panel{flex-direction:column;height:100%;min-height:0;max-height:100%;padding:16px;display:flex;overflow:hidden}.sidebar-play-status{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#173e34eb;border:1px solid #ffffff5c;border-radius:14px;flex-direction:column;gap:8px;margin-bottom:14px;padding:10px 14px;display:flex;box-shadow:0 6px 18px #14251f1f}.sidebar-play-status.check{background:#8b4a22f0}.sidebar-play-status.game-over{background:#6d2d2af2}.sidebar-status-main{align-items:center;gap:10px;display:flex}.sidebar-play-status .play-turn-dot{background:#83d8ad;border-radius:50%;flex:none;width:10px;height:10px;box-shadow:0 0 0 4px #83d8ad2e}.sidebar-play-status.check .play-turn-dot{background:#ffd07a;box-shadow:0 0 0 4px #ffd07a33}.sidebar-play-status.game-over .play-turn-dot{background:#f87171;box-shadow:0 0 0 4px #f8717133}.sidebar-status-texts{flex-direction:column;gap:1px;display:flex}.sidebar-status-texts strong{letter-spacing:-.01em;font-size:.8rem;font-weight:800}.sidebar-status-texts span{color:#ffffffbf;font-size:.65rem}.sidebar-viewport-status{color:#ffffffe6;border-top:1px solid #ffffff29;align-items:center;gap:7px;padding-top:7px;font-size:.66rem;font-weight:650;display:flex}.sidebar-status-announcement{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sidebar-camera-section{flex-direction:column;gap:7px;display:flex}.sidebar-section-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.sidebar-section-title{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.68rem;font-weight:780}.sidebar-camera-grid{grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.sidebar-camera-grid button{border:1px solid var(--line);min-height:29px;color:var(--ink);cursor:pointer;text-align:center;background:#fff9;border-radius:8px;padding:3px 4px;font-size:.66rem;font-weight:720;transition:all .12s}.sidebar-camera-grid button:hover{background:var(--emerald-soft);color:var(--emerald-dark);border-color:#245f4b57}.sidebar-board-actions{grid-template-columns:1fr 1fr 1fr;gap:4px;display:grid}.sidebar-board-actions button{border:1px solid var(--line);min-height:30px;color:var(--ink);cursor:pointer;text-align:center;background:#fff9;border-radius:8px;padding:4px 6px;font-size:.65rem;font-weight:720;transition:all .12s}.sidebar-board-actions button:hover{background:var(--emerald-soft);color:var(--emerald-dark);border-color:#245f4b57}.sidebar-board-actions .share-btn{background:var(--gold-soft);border-color:#c99a4859}.sidebar-board-actions .share-btn:hover{background:#fdf0d5;border-color:#c99a488c}.clear-marks-mini-btn{background:var(--gold-soft);color:#6a4918;cursor:pointer;border:1px solid #c99a4859;border-radius:6px;padding:2px 7px;font-size:.62rem;font-weight:750;transition:all .12s}.clear-marks-mini-btn:hover{background:#fdf0d5}.history-step-bar{grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:12px;display:grid}.history-step-bar .nav-button{place-items:center;min-height:34px;padding:0;font-size:.85rem;display:grid}.review-notice{background:var(--gold-soft);color:#6a4918;border:1px solid #c99a4866;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;padding:8px 11px;font-size:.68rem;font-weight:700;display:flex}.review-notice button{cursor:pointer;color:#6a4918;background:#ffffffb3;border:1px solid #6a491840;border-radius:6px;padding:2px 7px;font-size:.64rem;font-weight:750}.review-notice button:hover{background:#fff}.move-history-table{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#245f4b3d transparent;flex:1 1 0;min-height:80px;max-height:none;padding:4px 2px;overflow-y:auto}.empty-history-text{color:var(--muted);text-align:center;margin:18px 0;font-size:.72rem;line-height:1.5}.moves-rows{flex-direction:column;gap:3px;display:flex}.move-row{border-radius:6px;grid-template-columns:28px 1fr 1fr;align-items:center;gap:6px;padding:2px 4px;display:grid}.move-row:hover{background:#2f473c0d}.move-num{color:var(--muted);text-align:right;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.68rem;font-weight:700}.move-btn{cursor:pointer;text-align:left;color:var(--ink);background:0 0;border:1px solid #0000;border-radius:6px;padding:4px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.74rem;font-weight:700;transition:background .12s,border-color .12s}.move-btn:hover{background:#245f4b1f;border-color:#245f4b38}.move-btn.is-current{background:var(--emerald-soft);color:var(--emerald-dark);border-color:#245f4b59}.move-placeholder{display:block}.history-actions{flex-shrink:0;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto;display:grid}.history-actions button{width:100%}.studio-footer{color:var(--muted);justify-content:space-between;gap:20px;padding:11px 4px 0;font-size:.62rem}@media (max-width:1320px){.studio-grid{grid-template-columns:230px minmax(500px,1fr) 290px}.panel{padding:16px}}@media (max-width:1080px){.studio-grid{grid-template-columns:230px minmax(0,1fr);min-height:auto}.position-panel{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.position-panel .panel-heading,.position-panel .section-rule,.position-panel .warning-card{grid-column:1/-1}.position-panel .field-group,.position-panel .compact-fields{margin:0}.board-stage{min-height:clamp(580px,78svh,780px)}}@media (max-width:820px){.studio-shell{padding:10px}.studio-header{flex-direction:column;align-items:flex-start;gap:10px}.header-actions{justify-content:flex-start;width:100%;padding-bottom:2px;overflow-x:auto}.position-count{display:none}.studio-grid{flex-direction:column;display:flex}.board-stage{order:-1;min-height:clamp(540px,88svh,720px)}.board-toolbar{flex-direction:column;align-items:flex-start}.view-buttons,.board-toolbar-end{width:100%}.view-buttons{scrollbar-width:thin;flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}.board-toolbar button{flex:none}.board-toolbar-end>button{flex:auto}.tool-panel,.position-panel{max-height:none}.piece-grid{grid-template-columns:repeat(6,minmax(42px,1fr))}.position-panel{display:block}.position-panel>*+*{margin-top:16px}.camera-help{flex-wrap:wrap;justify-content:flex-start;gap:8px 14px}.viewport-status{top:8px;left:8px}.studio-footer{flex-direction:column;align-items:flex-start;gap:4px;line-height:1.45}}@media (max-width:820px) and (max-height:560px){.studio-header{flex-direction:row;align-items:center}.brand-cube,.brand-lockup .eyebrow{display:none}.brand-lockup h1{font-size:1.08rem}.header-actions{width:auto;margin-left:auto;padding-bottom:0}.board-stage{min-height:420px}.board-toolbar{flex-direction:row;gap:6px;padding-block-start:6px;padding-block-end:6px}.view-buttons,.board-toolbar-end{width:100%}.board-toolbar-end{flex-wrap:nowrap}}@media (max-width:430px){.brand-cube{display:none}.primary-button,.quiet-button{padding:0 11px}.board-stage{min-height:clamp(590px,90svh,680px)}.compact-fields{grid-template-columns:1fr 1fr}.compact-fields label:first-child{grid-column:1/-1}}.live-session-bar{-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);box-sizing:border-box;background:#ffffffb8;justify-content:space-between;align-items:center;min-height:48px;padding:8px 16px;font-size:.82rem;display:flex}.live-session-offline{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.live-create-btn{background:var(--emerald-soft);color:var(--emerald-dark);cursor:pointer;border:1px solid #16653447;border-radius:999px;align-items:center;gap:8px;padding:6px 14px;font-size:.78rem;font-weight:750;transition:all .14s;display:inline-flex;box-shadow:0 2px 6px #1235240f}.live-create-btn:hover{border-color:var(--emerald);background:#d4f3e3;transform:translateY(-1px)}.live-pulse-dot{background:var(--emerald);border-radius:50%;width:8px;height:8px;animation:2s infinite live-pulse;box-shadow:0 0 #22c55eb3}@keyframes live-pulse{0%{box-shadow:0 0 #22c55eb3}70%{box-shadow:0 0 0 6px #22c55e00}to{box-shadow:0 0 #22c55e00}}.live-hint{color:var(--muted);font-size:.76rem}.live-session-active{flex-wrap:wrap;align-items:center;gap:10px;width:100%;display:flex}.live-room-pill{color:var(--ink);background:#12352414;border:1px solid #12352429;border-radius:999px;align-items:center;gap:7px;padding:5px 11px;font-weight:700;display:inline-flex}.live-status-dot{background:#cbd5e1;border-radius:50%;width:8px;height:8px}.live-status-dot.connected{background:var(--emerald);box-shadow:0 0 6px #22c55e99}.live-status-dot.connecting{background:#f59e0b}.live-role-tag{color:var(--emerald-dark);text-transform:uppercase;letter-spacing:.04em;background:#fff;border-radius:999px;padding:2px 7px;font-size:.7rem;font-weight:800;display:inline-block}.live-peer-pill{border:1px solid var(--line);color:var(--muted-dark);background:#ffffffbf;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:.75rem;display:inline-flex}.peer-dot{border-radius:50%;width:7px;height:7px}.peer-dot.online{background:var(--emerald)}.peer-dot.waiting{background:#94a3b8;animation:2.2s infinite live-pulse}.live-action-btn{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:5px;padding:5px 12px;font-size:.75rem;font-weight:700;transition:all .12s;display:inline-flex}.live-action-btn:hover{background:#f8fafc;border-color:#245f4b59}.live-action-btn.primary{background:var(--gold-soft);color:#71490a;border-color:#c99a4866}.live-action-btn.primary:hover{border-color:var(--gold);background:#fde8be}.live-action-btn.lock-btn.is-locked{color:#991b1b;background:#fee2e2;border-color:#fca5a5}.live-action-btn.exit-btn{color:var(--muted-dark);margin-left:auto}.live-action-btn.exit-btn:hover{color:#991b1b;background:#fee2e2;border-color:#fca5a5}.live-lock-badge{border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:.72rem;font-weight:750;display:inline-flex}.live-lock-badge.locked{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5}.live-lock-badge.unlocked{background:var(--emerald-soft);color:var(--emerald-dark);border:1px solid #16653447}@media (max-width:768px){.live-session-bar{padding:6px 10px;font-size:.74rem}.live-hint{display:none}}.studio-grid.is-sidebar-collapsed{grid-template-columns:minmax(0,1fr)!important;width:100%!important;max-width:100%!important}.floating-sidebar-toggle{z-index:25;border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);color:var(--ink);cursor:pointer;background:#ffffffe0;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:.78rem;font-weight:800;transition:all .14s;display:inline-flex;position:absolute;top:14px;left:14px;box-shadow:0 4px 14px #12352424}.floating-sidebar-toggle:hover{border-color:var(--emerald);background:#fff;transform:translateY(-1px)}.focus-btn.is-active{background:var(--emerald)!important;color:#fff!important;border-color:var(--emerald-dark)!important}.tray-toggle-btn.is-inactive{opacity:.62;background:#ffffff73!important}.floating-tournament-clock{z-index:28;-webkit-backdrop-filter:blur(14px);-webkit-user-select:none;user-select:none;background:linear-gradient(#1c2c24f0 0%,#0e1813f5 100%);border:1px solid #ffffff2e;border-radius:14px;flex-direction:column;align-items:center;padding:6px 10px 8px;display:flex;position:absolute;top:14px;left:auto;right:14px;transform:none;box-shadow:0 10px 30px #00000073,inset 0 1px #ffffff1f}.clock-top-rocker{justify-content:space-between;align-items:center;width:100%;height:5px;margin-bottom:5px;padding:0 14px;display:flex}.rocker-lever{background:#3a5c4a;border-radius:2px;width:44px;height:4px;transition:all .16s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #0000004d}.rocker-lever.is-down{opacity:.55;background:#244133;transform:translateY(2px)}.rocker-lever.is-up{opacity:1;background:#4ade80;transform:translateY(-2px);box-shadow:0 0 8px #4ade8099}.clock-faces-row{align-items:center;gap:8px;display:inline-flex}.clock-side-card{background:#0006;border:1px solid #ffffff14;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;min-width:96px;padding:6px 12px;transition:all .18s;display:flex;position:relative}.clock-side-card.white-card{color:#f0f3f1}.clock-side-card.black-card{color:#d1d8d4}.clock-side-card.is-active{background:#143526;border-color:#4ade80;box-shadow:0 0 16px #4ade8059}.clock-side-card.flag-fallen{background:#4a1212;border-color:#ef4444;animation:.8s infinite alternate flag-flash;box-shadow:0 0 18px #ef444480}@keyframes flag-flash{0%{opacity:1}to{opacity:.65}}.clock-side-label{letter-spacing:.08em;opacity:.72;margin-bottom:2px;font-size:.58rem;font-weight:800}.clock-digital-time{letter-spacing:.02em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1.25rem;font-weight:850;line-height:1.1}.flag-badge{color:#fff;letter-spacing:.05em;background:#ef4444;border-radius:4px;padding:1px 5px;font-size:.52rem;font-weight:900;position:absolute;top:-8px;right:-6px}.clock-tap-btn{color:#fff;cursor:pointer;background:linear-gradient(#2a4c3a 0%,#1c3628 100%);border:1px solid #ffffff38;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:8px 14px;font-size:.68rem;font-weight:800;transition:all .12s;display:flex;box-shadow:0 4px 12px #00000047}.clock-tap-btn:hover{background:linear-gradient(#36614a 0%,#244634 100%);transform:translateY(-1px);box-shadow:0 6px 16px #00000059}.clock-tap-btn:active{transform:translateY(1px);box-shadow:0 2px 6px #0003}.clock-tap-btn.is-running{border-color:#4ade80}.clock-tap-icon{font-size:.95rem;line-height:1}.clock-tap-text{letter-spacing:.04em;white-space:nowrap}.clock-controls-box{background:var(--surface-low);border:1px solid var(--line);border-radius:12px;margin:10px 0;padding:10px}.clock-header-row{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.clock-section-title{color:var(--ink);font-size:.74rem;font-weight:800}.clock-reset-mini-btn{border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:6px;padding:2px 8px;font-size:.64rem;font-weight:750;transition:all .14s}.clock-reset-mini-btn:hover{color:var(--ink);border-color:var(--emerald)}.time-control-selector{grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.tc-pill{border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;text-align:center;border-radius:6px;padding:5px 4px;font-size:.65rem;font-weight:750;transition:all .12s}.tc-pill:hover{color:var(--ink);background:#fff}.tc-pill.is-active{background:var(--emerald);color:#fff;border-color:var(--emerald-dark);box-shadow:0 2px 6px #245f4b47}.clock-model-select-row{border-top:1px dashed var(--line);justify-content:space-between;align-items:center;gap:8px;margin-top:8px;padding-top:6px;display:flex}.clock-model-label{color:var(--muted);white-space:nowrap;font-size:.68rem;font-weight:750}.clock-mini-select{border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:6px;outline:none;flex:1;padding:4px 6px;font-size:.68rem;font-weight:700;transition:all .12s}.clock-mini-select:hover{border-color:var(--emerald)}.play-new-game-btn{align-items:center;gap:5px;transition:all .14s;display:inline-flex;box-shadow:0 2px 6px #245f4b40;background:var(--emerald)!important;color:#fff!important;border-color:var(--emerald-dark)!important;font-weight:800!important}.play-new-game-btn:hover{transform:translateY(-1px);background:var(--emerald-dark)!important}.sidebar-game-actions{flex-direction:column;gap:6px;margin-top:10px;display:flex}.sidebar-new-game-btn{border:1px solid var(--emerald-dark);background:var(--emerald);color:#fff;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:6px;width:100%;padding:8px 12px;font-size:.8rem;font-weight:800;transition:all .14s;display:flex;box-shadow:0 2px 6px #245f4b38}.sidebar-new-game-btn:hover{background:var(--emerald-dark);transform:translateY(-1px)}.sidebar-undo-btn{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:6px 12px;font-size:.74rem;font-weight:750;transition:all .14s;display:flex}.sidebar-undo-btn:hover:not(:disabled){border-color:var(--emerald);color:var(--emerald-dark);background:#fff}.sidebar-undo-btn:disabled{opacity:.45;cursor:not-allowed}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
