:root{color-scheme:dark;--bg:#0a1019;--panel:#131d2a;--line:#29374a;--text:#edf1f6;--muted:#a1afc2;--gold:#e0bd7b}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 20% 0%,#1c2b40 0,transparent 55%),var(--bg);color:var(--text);font:16px/1.55 system-ui,'Malgun Gothic',sans-serif}header{padding:26px 4%;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:14px;align-items:center}.logo{font-size:40px;color:var(--gold)}h1{font-size:22px;margin:0}.brand span:not(.logo){font-size:12px;letter-spacing:2px;color:var(--muted)}.badge{border:1px solid #675637;color:var(--gold);padding:5px 12px;border-radius:20px;font-size:14px}main{max-width:1600px;padding:30px 4%;margin:auto}.intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.intro h2{font-size:28px;margin:0 0 7px}.intro p{margin:0;color:var(--muted)}button,select,input{font:inherit;color:var(--text);border:1px solid #3a4b61;background:#1a2738;border-radius:7px;padding:9px 12px}button{cursor:pointer}button:hover{border-color:var(--gold);background:#243348}button:disabled{opacity:.5;cursor:wait}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.workspace{display:grid;grid-template-columns:minmax(320px,1.05fr) minmax(480px,1.55fr) minmax(235px,.75fr);gap:20px;align-items:start}.panel{background:linear-gradient(150deg,#172333,#101923);border:1px solid var(--line);border-radius:12px;padding:22px}.sectiontitle{display:flex;justify-content:space-between;align-items:center;gap:12px}.sectiontitle h2{font-size:16px;color:var(--gold);margin:0}.sectiontitle h2 span{color:var(--text);margin-left:8px;font-size:19px}.sectiontitle>span{font-size:14px;color:var(--muted)}.help{color:var(--muted);font-size:14px;margin:15px 0}.symbols{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px}.symbols button{font-size:14px;padding:7px 9px}.symbols button.active{border-color:var(--gold);color:var(--gold)}.board{display:grid;grid-template-columns:repeat(6,1fr);gap:3px;aspect-ratio:1;padding:8px;background:#080d14;border:1px solid #526079;max-width:490px;margin:auto;position:relative}.cell{padding:0;aspect-ratio:1;border:1px solid #354154;background:#1d2837;border-radius:2px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:24px;min-width:0}.cell small{font-size:12px}.boardfoot{display:flex;align-items:center;justify-content:space-between;margin-top:14px;font-size:14px;color:var(--muted)}details{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}summary{cursor:pointer;font-size:14px}.rowedit{display:flex;gap:6px;flex-wrap:wrap}.notice{font-size:14px;color:#e1c68f;background:#302919;border:1px solid #504127;padding:12px;border-radius:7px;margin:17px 0}.upload{cursor:pointer;border:1px dashed #51647e;display:flex;flex-direction:column;text-align:center;padding:18px;background:#101a28;border-radius:8px}.upload:hover{border-color:var(--gold)}.upload span{color:var(--muted);font-size:14px;margin-top:3px}.inventoryhead{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:20px 0 12px}.inventoryhead span{font-size:14px;color:var(--muted)}.tablewrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;color:var(--muted);font-weight:400;padding:8px 4px}td{padding:7px 3px;border-top:1px solid var(--line)}td select{padding:6px 3px;font-size:14px;max-width:96px}td input{width:57px;padding:6px;font-size:14px}td button{padding:4px 8px}#gallery{display:flex;gap:10px;overflow:auto;padding-top:12px}.shot{flex:0 0 125px;font-size:12px}.shot img{width:125px;height:75px;object-fit:contain;background:#080d14;cursor:zoom-in;border:1px solid var(--line)}.shot select{font-size:12px;padding:3px;width:100%}.shot button{font-size:12px;padding:3px 8px;margin-top:4px}.label{display:block;font-size:14px;color:var(--muted);margin-top:22px}#target{width:100%;margin-top:8px}.goal{display:flex;flex-direction:column;text-align:center;padding:28px 0}.goal>span:first-child{color:var(--muted);font-size:14px}.goal strong{font-size:64px;font-weight:600;color:var(--gold);line-height:1.4}.goal #status{font-size:14px;color:var(--muted)}.primary{width:100%;background:var(--gold);color:#161616;font-weight:700;border-color:var(--gold)}.primary:hover{background:#efcd91;color:#161616}#stop{width:100%;margin-top:10px}.milestones{display:flex;gap:5px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:15px}.milestones span{font-size:12px;padding:3px 7px;background:#243044;border-radius:4px;color:var(--muted)}.milestones span.hit{background:#4a3c22;color:#f5d597}.resultwide{margin-top:20px}.resultlayout{display:grid;grid-template-columns:minmax(270px,490px) 1fr;gap:30px}.resultlayout .board{width:100%}.placement{display:flex;align-items:center;gap:14px;padding:12px;border-bottom:1px solid var(--line);font-size:14px}.pieceicon{display:grid;grid-template-columns:repeat(4,9px);grid-template-rows:repeat(4,9px);gap:2px;width:44px;height:44px}.pieceicon b{border:1px solid currentColor}.placement strong{color:var(--gold)}.placement span{color:var(--muted)}footer{color:var(--muted);font-size:14px;padding:28px 0}dialog{max-width:94vw;max-height:92vh;border:1px solid var(--line);background:#101923;border-radius:10px}dialog::backdrop{background:#000c}dialog img{display:block;max-width:88vw;max-height:78vh;margin-top:10px}.match{box-shadow:inset 0 0 20px #fff3;color:#fff}.unmatch{color:#aab5c8}@media(max-width:1250px){.workspace{grid-template-columns:minmax(300px,1fr) minmax(430px,1.4fr)}.resultpanel{grid-column:1/-1}.goal{padding:16px}.goal strong{font-size:48px}}@media(max-width:800px){header{padding:17px}main{padding:20px 14px}.intro{display:block}.intro h2{font-size:24px}.intro button{margin-top:15px}.workspace{display:flex;flex-direction:column}.panel{width:100%;padding:16px}.resultlayout{grid-template-columns:1fr}.cell{font-size:23px}.inventoryhead{flex-wrap:wrap}.badge{font-size:12px}.brand h1{font-size:18px}}
.recognizebar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0}.recognizebar button{border-color:var(--gold);color:var(--gold)}#recognizeStatus{font-size:14px;color:var(--muted)}#reviewDialog{width:min(1050px,95vw)}#reviewDialog h2,#cropDialog h2{font-size:22px;margin:10px 0}#reviewDialog p,#cropDialog p{font-size:14px;color:var(--muted)}#reviewItems td select{max-width:100px}#reviewItems tr.needsReview{background:#4c381f66}#reviewItems img{width:80px;height:55px;object-fit:contain;max-height:none;margin:0}.revieworigin{font-size:12px;color:var(--muted);max-width:175px}.reviewwarning{color:#f3c675;font-size:12px}.mode{display:flex;align-items:center;gap:10px;font-size:14px;margin-top:18px}.mode input{accent-color:var(--gold)}.dialogactions{display:flex;justify-content:flex-end;gap:10px;position:sticky;bottom:0;background:#101923;padding:16px 0 0}.dialogactions .primary{width:auto}#cropCanvas{display:block;max-width:85vw;max-height:65vh;touch-action:none;cursor:crosshair}#reviewBoard .board{max-width:330px;margin:20px 0}#reviewBoard select{width:100%;font-size:12px;padding:3px}.emptyrecognition{padding:10px;background:#322818;border-radius:6px;font-size:14px;color:#f3c675}
.boardcontrols{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:14px}.boardcontrols select{font-size:14px}.boardcontrols span{color:var(--gold);font-size:14px}#board.placed{gap:0}#board.placed .cell{position:relative;font-size:23px;padding:3px}#board.placed .cell small{font-size:11px;line-height:1.4}#board.placed .cell strong{line-height:1.3}#goalPoints{width:100%;margin-top:8px}.symbols[hidden]{display:none}
/* Odin workbench: game board first, charcoal surfaces and electric stone light. */
:root{--bg:#101113;--panel:#1a1c20;--line:#363a42;--text:#e6e7ea;--muted:#a5a9b0;--gold:#ddc68b}body{background:radial-gradient(ellipse at 18% 28%,#16243d66,transparent 40%),#101113}header{padding:18px 3%;background:#181a1d;border-bottom-color:#39352a}.logo{font-size:34px}main{max-width:1680px;padding:22px 3%}.intro{margin-bottom:20px;align-items:end}.intro h2{font-size:23px;font-weight:500;letter-spacing:-.6px}.intro p{font-size:14px}.intro button{font-size:14px;border-radius:3px}.workspace{grid-template-columns:minmax(390px,1.16fr) minmax(440px,1.25fr) minmax(275px,.82fr);gap:16px}.panel{background:#1b1d21;border:1px solid #383b43;border-top:2px solid #766646;border-radius:3px;padding:20px}.boardpanel{background:linear-gradient(180deg,#202123,#15191f)}.sectiontitle{padding-bottom:14px;border-bottom:1px solid #34373d}.sectiontitle h2{font-size:14px;letter-spacing:1px}.sectiontitle h2 span{font-size:19px;letter-spacing:0}button,select,input{border-radius:3px;background:#24272d;border-color:#454951}button:hover{background:#34312a}.notice{background:#29271f;border-color:#4f4530;border-radius:3px}.upload{background:#17191e;border-radius:3px;padding:20px}.recognizebar button{font-size:14px}.inventoryhead{flex-wrap:wrap}.tablewrap{max-height:560px;overflow:auto}thead{position:sticky;top:0;background:#1b1d21;z-index:1}td{border-color:#34373d;padding:8px 3px}td select{background:#1b1e24}.resultpanel{background:#17191d}.primary{background:linear-gradient(135deg,#eddda9,#b7a06e);border-color:#dfc894;color:#191711;padding:13px}.goal strong{color:#f3dfaa;font-size:64px;text-shadow:0 0 25px #cba65130}.goal{padding:24px 0}.mode{line-height:1.5;align-items:flex-start}.mode input{flex:none;margin-top:5px}.gameheading{font-size:20px;color:#f1ddb0;text-align:center;margin:20px 0 2px;font-family:Georgia,'Malgun Gothic',serif}.gameheading span{display:block;font:14px/1.6 system-ui;color:#73b9ff}.boardstage{position:relative;padding:34px 12px 28px;max-width:500px;margin:auto;isolation:isolate}.boardstage:before{content:'';position:absolute;z-index:-1;inset:20px -6px 6px;border-radius:50%;border:2px solid #657bb252;background:repeating-conic-gradient(from 0deg,#789bc022 0deg 1deg,transparent 1deg 4deg);box-shadow:inset 0 0 0 8px #172238,inset 0 0 0 10px #5d7fa44d,inset 0 0 0 26px #182643,0 0 35px #3d67c544}.boardstage:after{content:'';position:absolute;z-index:-1;inset:30px 5px 16px;border:1px solid #667b9955;border-radius:50%}.colcoordinates{position:absolute;top:8px;left:18px;right:18px;display:flex;justify-content:space-around;font-size:12px;color:#8e9aaf;white-space:pre;text-align:center}#board{width:100%;padding:3px;gap:0;border:2px solid #7bc4ed;outline:1px solid #315d82;outline-offset:4px;background:#102a38;box-shadow:0 0 18px #3a86d37a;max-width:none}#board .cell{position:relative;overflow:hidden;aspect-ratio:1;border:1px solid #337693;border-radius:0;background:radial-gradient(ellipse at 45% 40%,#285364,#0e2635 75%);padding:0;box-shadow:inset 0 0 0 1px #81c8dd24;min-height:0}#board.placed .cell{padding:0;background:linear-gradient(135deg,#102c3b,#224553);box-shadow:inset 0 0 0 1px #99e1ff20}#board.placed .cell.match{background:radial-gradient(ellipse at 40% 45%,color-mix(in srgb,var(--stone) 90%,#ffffff),color-mix(in srgb,var(--stone) 70%,#111127) 50%,#162d40 100%);box-shadow:inset 0 0 15px color-mix(in srgb,var(--stone) 80%,transparent),inset 0 0 0 2px #fff4}#board .cell:after{content:'';position:absolute;inset:3px;border:1px solid #c4eaff22;pointer-events:none}.rune{width:65%;height:65%;object-fit:contain;pointer-events:none}#board .unmatch .rune{opacity:.22}#board .match .rune{filter:brightness(1.25) drop-shadow(0 0 4px #f2d7ff);opacity:1}#board .piece-number{position:absolute;top:2px;left:4px;font-size:12px;font-weight:500;display:none;background:#091422b3;padding:0 3px;z-index:2}#board.numbered .piece-number{display:block}.boardtoggle{justify-content:flex-end;margin:12px 0 0}.boardfoot{margin-top:10px}.boardcontrols{margin-top:14px;margin-bottom:0}.boardcontrols span{width:100%;color:#a4bdd3}.boardcontrols select{width:100%}#board .change-needed{outline:2px dashed #ffeaa7;outline-offset:-6px;z-index:2}.change-tag{position:absolute;bottom:2px;right:2px;background:#f0d895;color:#241e12;font-size:12px;line-height:1.3;padding:1px 3px}.milestones span{border:1px solid #454951;border-radius:2px;background:#23262b;font-size:12px}.milestones span.hit{background:#51432c;border-color:#9e885d}.resultwide{border-top-color:#5486aa}#changePlan{border-top:1px solid #5e523c;margin-top:22px;padding-top:10px}#changePlan h3{font-size:18px;color:#f0d99b;margin:8px 0}#changePlan p{font-size:14px;line-height:1.65}.change-row{border:1px solid #484338;background:#23221f;padding:10px;margin:12px 0}.change-row>strong{color:#f1dc9b}.change-row p{margin:6px 0 10px}.row-preview{display:grid;grid-template-columns:repeat(6,1fr);gap:3px}.row-preview>div{display:flex;flex-direction:column;align-items:center;background:#173143;padding:5px 0}.row-preview>div.required{border:1px solid #e6c782;background:#4c392e}.row-preview .rune{width:28px;height:28px}.row-preview small{font-size:12px;white-space:nowrap}.row-preview .keep small{color:#a7b4c4}#originalBoard{margin-top:10px;width:100%;font-size:14px}dialog{background:#1b1d21;border-radius:3px}.dialogactions{background:#1b1d21}footer{border-top:1px solid #34373d;margin-top:24px;padding:18px 0;font-size:14px}@media(max-width:1300px){.workspace{grid-template-columns:minmax(340px,1fr) minmax(400px,1.2fr)}.resultpanel{grid-column:1/-1}.row-preview{max-width:500px}.goal{padding:15px 0}}@media(max-width:800px){.workspace{display:flex;flex-direction:column}.panel{padding:16px}.boardpanel{order:0}.resultpanel{order:1}.inventorypanel{order:2}.intro h2{font-size:21px}.intro p{font-size:14px}main{padding:20px 12px}.boardstage{max-width:470px}.gameheading{font-size:19px}.tablewrap{max-height:420px}}
.rowcoordinates{position:absolute;left:0;top:38px;bottom:32px;display:grid;grid-template-rows:repeat(6,1fr);align-items:center;color:#8e9aaf;font-size:12px;z-index:3}.boardstage{padding-left:18px;padding-right:12px}.boardstage .colcoordinates{left:22px}

/* Coordinates share the board's actual grid width and its 5px inner inset. */
.boardstate{font-size:14px;color:#a4bdd3;text-align:center;margin:18px 0 4px}
.boardstage{display:grid;grid-template-columns:18px minmax(0,1fr);grid-template-rows:24px auto;padding:12px 12px 28px 0;align-items:stretch}
.boardstage .colcoordinates{position:static;grid-column:2;grid-row:1;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:center;padding:0 5px;white-space:normal;font-size:14px;color:#b8c7da}
.boardstage .colcoordinates span{text-align:center}
.boardstage .rowcoordinates{position:static;grid-column:1;grid-row:2;display:grid;grid-template-rows:repeat(6,minmax(0,1fr));align-items:center;text-align:center;padding:5px 0;font-size:14px;color:#b8c7da}
.boardstage #board{grid-column:2;grid-row:2;margin:0;min-width:0}
#board.placed .cell{border-color:#050b13}
/* Continuous double outlines follow each tetromino rather than individual tiles. */
#board{background:#183a4b;border-color:#769bb4;outline-color:#416b89;box-shadow:0 0 20px #497bb566}
#board.placed .cell{border:0;background:linear-gradient(#10333a55,#08293766),url('assets/stone-teal.png') center/cover;box-shadow:inset 0 0 0 1px #2e69855c}
#board .cell:after{inset:0;border:1px solid #669bb533}
#board.placed .cell.match{background:radial-gradient(ellipse at center,#d196fa44,transparent 70%),url('assets/stone-purple.png') center/cover;box-shadow:inset 0 0 16px #bd42e98c,inset 0 0 0 1px #cc82eb80}
#board.placed .cell.match[data-grade="2"]{background:radial-gradient(ellipse at center,#4ebaff66,transparent 75%),url('assets/stone-blue.png') center/cover;box-shadow:inset 0 0 16px #2181dd8c,inset 0 0 0 1px #71bcef80}
#board.placed .cell.match[data-grade="4"]{background:radial-gradient(ellipse at center,#f5cb75,#986c29);box-shadow:inset 0 0 16px #ffc14c88}
#board.placed .cell.match[data-grade="1"]{background:radial-gradient(ellipse at center,#78d9ad,#236353)}
#board.placed .cell.match[data-grade="0"]{background:radial-gradient(ellipse at center,#a0b7c7,#3c586b)}
#board .unmatch .rune{opacity:.28;filter:none}#board .match .rune{filter:brightness(1.25) drop-shadow(0 0 3px #eac6ff)}
.stone-outlines{position:absolute;inset:5px;width:calc(100% - 10px);height:calc(100% - 10px);pointer-events:none;z-index:4;overflow:visible;filter:drop-shadow(0 0 1px #051323)}

#calculateRotated{width:100%;margin-top:10px;border-color:#bb9fde;color:#e3cefa;background:#30233d}#calculateRotated:hover{background:#443252}.orientation-icon{margin:3px auto}td .orientation-icon+select{width:60px}table{min-width:470px}

.hypothesis{margin:20px 0;padding:16px;border:1px solid #4c5368;border-radius:10px;background:#171d29}.grade-options{display:flex;gap:14px;flex-wrap:wrap;margin:12px 0}.row-preview .locked{border:2px solid #e7c678;background:#534629}.row-preview .free{opacity:.65;background:#232b37}.row-preview .free small{margin:auto}.hypothesis button{width:100%}#extraNeeds p{margin:8px 0}

#stoneEditor{max-width:460px;width:90%}#stoneEditor select{width:100%}#stoneEditorError{color:#f1bd70}#editInstalled{margin:8px 0}

/* Board and recommendation stay together at every screen size. */
.workspace{display:grid;grid-template-columns:minmax(380px,.95fr) minmax(540px,1.45fr);gap:20px;align-items:start}.board-column,.inventory-column{display:flex;flex-direction:column;gap:18px;min-width:0}.board-column>.panel,.inventory-column>.panel{width:100%;order:initial}.board-column .resultpanel{grid-column:auto}.board-column .resultwide{margin:0}.recommend-inputs{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.recommend-inputs input,.recommend-inputs select{width:100%}.recommend-inputs .label{margin:0 0 5px}.recommend-actions{display:flex;gap:8px;flex-wrap:wrap}.recommend-actions button{flex:1;min-width:150px}.goal{padding:12px 0;display:grid;grid-template-columns:1fr auto;align-items:center;text-align:left;gap:4px 12px}.goal strong{font-size:40px;grid-column:2;grid-row:1/3}.goal #status{grid-column:1}.calculation-options{margin-top:12px}.calculation-options .mode{margin:8px 0}.hypothesis{margin:12px 0;padding:12px}.hypothesis summary{color:#e3d4ac;font-weight:600}#detail .resultlayout{display:block}#resultboard{display:none}#placementlist{display:grid;grid-template-columns:1fr 1fr;gap:4px}.placement{gap:8px;padding:8px;font-size:12px;align-items:flex-start}.placement strong{font-size:13px}.pieceicon{flex-shrink:0}.inventorypanel .tablewrap{max-height:350px;overflow:auto}.inventorypanel .tablewrap thead{position:sticky;top:0;background:#172333;z-index:2}#gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(115px,1fr));max-height:260px;overflow:auto}.shot{min-width:0}.shot img{width:100%}#changePlan{margin:0;padding:18px;border:1px solid #5e523c}.reroll-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.change-row{margin:0;padding:10px;border-radius:7px}.change-row details{margin-top:8px;padding-top:8px}.change-row details p{font-size:12px!important}.row-preview small{font-size:10px;white-space:normal;text-align:center}.row-preview .rune{width:24px;height:24px}.empty-symbol{color:#567180;font-size:22px}.boardcontrols span{font-size:13px}.boardpanel .help{margin:10px 0;font-size:13px}.milestones{margin-top:12px}.boardstage{max-width:440px}.resultpanel>.help{font-size:12px;margin:10px 0}
@media(max-width:1100px){.workspace{grid-template-columns:minmax(330px,1fr) minmax(370px,1.2fr)}.reroll-grid{grid-template-columns:1fr}#placementlist{grid-template-columns:1fr}.panel{padding:16px}}
@media(max-width:760px){.workspace{display:flex;flex-direction:column}.board-column,.inventory-column{width:100%}.board-column{order:0}.inventory-column{order:1}.reroll-grid{grid-template-columns:1fr}.boardstage{max-width:470px}.recommend-actions button{min-width:130px}}

/* Three settings columns, sized to the desktop viewport. */
@media(min-width:1120px){
body{height:100dvh;overflow:hidden}header{padding:10px 2%;height:64px}.logo{font-size:30px}h1{font-size:19px}main{max-width:1800px;height:calc(100dvh - 64px);padding:12px 2%;display:flex;flex-direction:column}.intro{margin:0 0 10px;min-height:40px}.intro h2{font-size:20px;margin:0}.intro p{font-size:12px}.workspace{display:grid;grid-template-columns:minmax(300px,1fr) minmax(400px,1.25fr) minmax(280px,.95fr);gap:12px;flex:1;min-height:0;align-items:stretch}.board-column,.inventory-column,.recommend-column{display:flex;flex-direction:column;gap:10px;min-width:0;min-height:0;overflow:auto;scrollbar-width:thin}.board-column>.panel,.inventory-column>.panel{height:100%;overflow:auto}.panel{padding:14px}.sectiontitle h2 span{font-size:17px}.sectiontitle>span{font-size:12px}.boardstage{max-width:min(100%,calc(100dvh - 370px));min-width:250px;padding-bottom:16px}.boardpanel .help{font-size:12px;margin:8px 0}.boardcontrols{margin-top:8px}.boardcontrols select{padding:6px}.boardcontrols span{font-size:12px}.board-secondary{margin-top:6px;padding-top:6px}.board-secondary summary{font-size:12px}.board-secondary .mode{margin-top:8px}.boardfoot{font-size:12px}.boardpanel>details:last-child{margin-top:8px;padding-top:6px}.inventorypanel{display:flex;flex-direction:column;min-height:0}.inventorypanel .notice{font-size:12px;padding:8px;margin:10px 0}.inventorypanel .upload{padding:10px}.inventorypanel .upload span{font-size:12px}.recognizebar{margin-top:8px;gap:6px}.recognizebar button{padding:6px;font-size:12px}.inventoryhead{margin:10px 0 6px;gap:6px}.inventoryhead span{font-size:12px}.inventoryhead button{padding:6px;font-size:12px}.inventorypanel>.help{font-size:11px;margin:6px 0}.inventorypanel .tablewrap{flex:1;min-height:130px;max-height:none;overflow:auto}#gallery{max-height:130px;flex-shrink:0;padding-top:8px}.shot img{height:58px}.inventorypanel table{font-size:12px}.inventorypanel th{padding:5px 2px}.inventorypanel td{padding:5px 2px}.inventorypanel td select{font-size:12px;padding:4px 2px;max-width:72px}.inventorypanel td input{font-size:12px;width:44px;padding:4px}.inventorypanel .pieceicon{width:34px;height:34px}.inventorypanel .direction{gap:3px}.recommend-column .resultpanel{flex:none}.recommend-inputs{gap:8px;margin-top:10px}.recommend-inputs select,.recommend-inputs input{padding:7px}.recommend-inputs .label{font-size:12px}.goal{padding:10px 0}.goal strong{font-size:36px}.goal #status{font-size:12px}.recommend-actions{gap:6px}.recommend-actions button{font-size:13px;padding:8px;min-width:110px}.resultpanel>.help{font-size:11px;margin:8px 0}.milestones{gap:4px;margin-top:8px}.milestones span{font-size:11px;padding:3px 6px}.hypothesis{padding:10px;margin:10px 0}.grade-options{gap:8px;font-size:12px;margin:8px 0}.hypothesis .help{font-size:12px}.hypothesis .label{margin:8px 0 0}.calculation-options{margin-top:8px;padding-top:8px}.calculation-options summary,.hypothesis summary{font-size:13px}#detail{margin:0;padding:12px}#detail>summary{font-size:13px;color:var(--gold)}#detail .sectiontitle{margin-top:10px}#placementlist{grid-template-columns:1fr}#changePlan{padding:12px}#changePlan h3{font-size:16px}#changePlan p{font-size:12px}.reroll-grid{grid-template-columns:1fr}.row-preview .rune{width:22px;height:22px}footer{display:none}
}
@media(max-width:1119px){.workspace{display:grid;grid-template-columns:1fr 1fr}.board-column,.inventory-column,.recommend-column{display:flex;flex-direction:column;gap:12px;min-width:0}.recommend-column{grid-column:1/-1}.recommend-column .resultpanel{width:100%}}
@media(max-width:760px){.workspace{display:flex;flex-direction:column}.board-column,.inventory-column,.recommend-column{width:100%;order:initial}}

.upload-choices{display:grid;gap:8px}.upload-choices .upload{text-align:left;padding:10px 12px}.upload-choices .upload strong{font-size:14px}.upload-choices .upload span{font-size:11px}.upload-choices #boardDrop{border-color:#6485a4;background:#142736}.upload-choices #inventoryDrop{border-color:#82724e;background:#29261e}

.setup-guide{flex:none;border:1px solid #4d5870;background:#141f2c;border-radius:9px;padding:8px 12px;margin-bottom:10px}.setup-guide ol{display:flex;gap:8px;list-style:none;padding:0;margin:0;justify-content:space-between;flex-wrap:wrap}.setup-guide li{font-size:12px;color:#8090a6;padding:3px 8px;border-radius:5px}.setup-guide li.guide-current{background:#59472b;color:#ffdda0;font-weight:700}.setup-guide li.guide-done{color:#94cfb2}.setup-guide li.guide-done:after{content:' ✓'}.setup-guide p{font-size:12px;margin:4px 0 0;color:#efcf91}.guide-active{position:relative;outline:2px solid #f3cc78!important;outline-offset:2px;animation:guideGlow 1.8s ease-in-out infinite}.guide-active:after{content:attr(data-guide-hint);display:block;background:#f3d495;color:#2d2416;border-radius:5px;padding:2px 7px;font-size:11px;font-weight:700;width:max-content;max-width:100%;margin:5px 0 0;line-height:1.5;pointer-events:none}.confirm-goal{grid-column:1/-1;padding:6px;font-size:12px;border-color:#bd9d60;color:#f3d495}.guide-active.recommend-inputs:after{grid-column:1/-1;margin:0}.guide-active#calculate:after,.guide-active#recognizeAll:after{margin:4px auto 0}.setup-guide [aria-current=step]{box-shadow:inset 0 0 0 1px #d9b56c}.inventorypanel .upload-choices{flex:none}.boardstage{transition:max-width .2s}@keyframes guideGlow{0%,100%{box-shadow:0 0 0 2px #f3cc7820}50%{box-shadow:0 0 14px 3px #f3cc7860}}@media(prefers-reduced-motion:reduce){.guide-active{animation:none}}@media(min-width:1120px){.intro{min-height:30px}.boardstage{max-width:min(100%,calc(100dvh - 440px));min-width:230px}.setup-guide{padding:6px 10px}.guide-active .upload span{font-size:10px}}@media(max-width:760px){.setup-guide li{font-size:11px;padding:3px 4px}.setup-guide ol{gap:3px}}

.browser-prompt{width:min(420px,calc(100vw - 40px));max-height:calc(100dvh - 40px);box-sizing:border-box;padding:28px 24px;border:2px solid #d9b975;border-radius:18px;background:#17212d;color:#f2f1ec;text-align:center;box-shadow:0 16px 70px #0009}.browser-prompt::backdrop{background:#080d16ba}.browser-prompt h2{font-size:1.35rem;line-height:1.5;margin:0 0 14px}.browser-prompt p{font-size:1rem;line-height:1.6;color:#bac5d1}.browser-prompt-actions{display:flex;flex-direction:column;gap:12px;margin-top:22px}.browser-prompt button{width:100%;min-height:48px;font-size:1rem}.browser-prompt [hidden]{display:none!important}.browser-prompt #browserPromptAddress{width:100%;box-sizing:border-box;font-size:1rem;margin:10px 0}.browser-prompt .browser-prompt-dismiss{border:0;background:transparent;color:#bac5d1;margin-top:4px;text-decoration:underline}
