/* V5.6 Usagi Sudoku: self-contained full-screen game styles */
.usagi-entry{background:linear-gradient(130deg,#fff9d6,#fff2c4 48%,#fffafd);border-color:#f1d58d}
.usagi-entry-top{display:flex;align-items:center;gap:13px;margin-bottom:12px}
.usagi-entry-top img{width:73px;height:73px;border-radius:20px;filter:drop-shadow(0 5px 10px #d9a75d55);background:#fff3ba;flex:none}
.usagi-entry-top h3{margin:0 0 5px;color:#83521c;font-size:18px}
.usagi-entry-top p{font-size:12px;color:#916c37;margin:0;line-height:1.65}
.usagi-entry .mini{color:#906f45;margin-top:10px;line-height:1.7}
.usagi-entry .btn{background:#D58B2F;color:#fff;font-size:15px}
.usagi-dialog[open]{position:fixed;inset:0;margin:0;padding:0;border:0;border-radius:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;z-index:130;overflow-y:auto;overflow-x:hidden;background:#fff3c9;color:#553916}
.usagi-dialog::backdrop{background:#211b11b8}
body.usagi-is-open{overflow:hidden}
.usagi-shell{min-height:100%;width:100%;max-width:560px;margin:0 auto;background:linear-gradient(#fff9dce5,#fff1bee5),url('./usagi-sudoku-bg.svg') center/cover; padding:calc(env(safe-area-inset-top) + 8px) 13px calc(env(safe-area-inset-bottom) + 14px)}
.usagi-head{display:flex;align-items:center;gap:9px;background:#fffef1e3;border:1px solid #f1dba3;border-radius:18px;padding:6px 8px;margin-bottom:9px;box-shadow:0 4px 20px #c09a4b26}
.usagi-head img{width:49px;height:49px;border-radius:14px}
.usagi-head h2{margin:0 0 2px;font-size:19px;line-height:1.2;color:#8d571f}
.usagi-head small{font-size:10px;color:#9f854a}
.usagi-head button{margin-left:auto;border:0;background:#fff2d1;font-size:15px;color:#945f20;border-radius:12px;padding:9px 12px;font-weight:900}
.ss-topline{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:0 0 8px}
.ss-score{border-radius:13px;text-align:center;padding:8px 3px 7px;background:#fffdf0e8;border:1px solid #edd7a0}
.ss-score small{display:block;font-size:10px;color:#98723b;font-weight:900}
.ss-score strong{display:block;margin-top:1px;color:#76502d;font-size:clamp(15px,4.8vw,21px);font-variant-numeric:tabular-nums}
.ss-controls{display:flex;align-items:center;gap:6px;margin-bottom:8px}
.ss-controls label{font-size:11px;font-weight:900;white-space:nowrap;color:#91652d}
.ss-controls select,.ss-small{background:#fffaf0;border:1px solid #e4c98a;color:#774c1f;border-radius:11px;padding:7px 7px;font-size:12px;font-weight:850;min-width:0}
.ss-controls select{flex:1}
.ss-board-frame{position:relative;max-width:460px;margin:auto;border:4px solid #9e7440;box-shadow:0 8px 24px #cda34e55;border-radius:10px;background:#fff}
.ss-board{width:100%;aspect-ratio:1;display:grid;grid-template-columns:repeat(9,1fr);grid-template-rows:repeat(9,1fr);background:#ffeec2;overflow:hidden}
.ss-cell{border:0;border-right:1px solid #e2c98e;border-bottom:1px solid #e2c98e;border-radius:0;background:#fffdf3;color:#896125;line-height:1;font-variant-numeric:tabular-nums;font-size:clamp(16px,5.1vw,24px);font-weight:800;padding:0;min-width:0;min-height:0;display:grid;place-items:center;position:relative;touch-action:manipulation;user-select:none}
.ss-cell.ss-rbox{border-right:3px solid #97764d}.ss-cell.ss-bbox{border-bottom:3px solid #97764d}
.ss-cell.ss-given{background:#fff4d7;color:#47351b;font-weight:950}
.ss-cell.ss-peer:not(.ss-selected){background:#f3edd8}
.ss-cell.ss-given.ss-peer{background:#f3e5c2}
.ss-cell.ss-same{background:#ffdf86!important;color:#583f16}
.ss-cell.ss-selected{background:#edb44a!important;box-shadow:inset 0 0 0 2px #b7801c;z-index:1;color:#3e2a0c}
.ss-cell.ss-hinted{color:#399579}.ss-cell.ss-wrong,.ss-cell.ss-clash:not(.ss-given){color:#cb4e48;background:#ffe1d9}
.ss-cell:focus-visible{outline:2px solid #2f6d9f;outline-offset:-3px;z-index:2}
.ss-notes{width:95%;height:95%;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);align-items:center;justify-items:center}
.ss-notes i{font-style:normal;font-weight:750;font-size:clamp(7px,2vw,10px);color:#b7863b}
.ss-pause-cover,.ss-win-cover{position:absolute;inset:0;background:#fff7dcef;display:grid;place-items:center;text-align:center;z-index:4;color:#91631f;font-size:24px;font-weight:1000;line-height:1.65}
.ss-pause-cover small{font-size:13px}
.ss-win-cover{background:#fff4c5f5}.ss-win-inner{border-radius:25px;background:white;padding:22px;box-shadow:0 5px 22px #b6812b33}
.ss-win-inner span{display:block;font-size:32px}.ss-win-inner strong{display:block;font-size:24px}.ss-win-inner p{font-size:12px;color:#957a53}
.ss-win-inner button{border:0;background:#c68a33;color:#fff;border-radius:14px;padding:12px 25px;font-weight:900}
.ss-message{min-height:29px;text-align:center;padding:9px 2px 5px;color:#986b26;font-size:11px;font-weight:850;line-height:1.5}
.ss-numpad{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:3px;max-width:460px;margin:0 auto 8px}
.ss-numpad button{background:#fffdf5e8;border:1px solid #e6c783;min-width:0;border-radius:10px;color:#8b581c;padding:9px 0;font-size:clamp(16px,5.2vw,23px);font-weight:1000;box-shadow:0 3px 0 #d4b474}
.ss-numpad button:active{transform:translateY(2px);box-shadow:0 1px 0 #d4b474}
.ss-toolbar{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;max-width:460px;margin:auto}
.ss-toolbar button{border:1px solid #e6ce9b;border-radius:12px;background:#fffdf3eb;color:#7f5927;min-width:0;font-size:21px;font-weight:900;padding:7px 2px;display:grid;place-items:center;gap:2px;line-height:1}
.ss-toolbar button.ss-on{background:#f8d57d;border-color:#daae53;color:#71440a}
.ss-toolbar button span{display:block;font-size:9px;white-space:nowrap;font-weight:850}
.ss-footnote{text-align:center;font-size:10px;line-height:1.65;color:#9b814d;margin:11px 0 0}
@media(max-height:790px){.usagi-head{margin-bottom:6px}.usagi-head img{width:39px;height:39px}.usagi-head h2{font-size:16px}.ss-topline{margin-bottom:5px}.ss-score{padding:5px 3px}.ss-board-frame{width:min(100%, 43dvh)}.ss-numpad button{padding:7px 0}.ss-footnote{margin-top:6px}}
@media(max-width:355px){.usagi-shell{padding-left:7px;padding-right:7px}.ss-controls{gap:4px}.ss-controls label{font-size:10px}.ss-small{padding:6px 5px}.ss-toolbar{gap:3px}.ss-toolbar button span{font-size:8px}}

/* V5.6.1: uploaded Usagi picture + music control, keeping Sudoku board unobscured */
.usagi-head>div{flex:1;min-width:0}
.usagi-head .usagi-music-btn{flex:none;margin-left:auto;border:1px solid #e7c87a;background:#fff6d6;color:#89571f;border-radius:12px;padding:9px 7px;font-size:12px;font-weight:900;white-space:nowrap}
.usagi-head .usagi-music-btn[aria-pressed="true"]{background:#ffe38d;border-color:#e7bb53;color:#73440d}
.usagi-head button[data-action="close-sudoku"]{margin-left:0;flex:none;white-space:nowrap}
@media(max-width:355px){.usagi-head{gap:5px;padding:5px}.usagi-head h2{font-size:14px}.usagi-head small{font-size:9px}.usagi-head img{width:36px;height:36px}.usagi-head .usagi-music-btn{font-size:11px;padding:8px 6px}.usagi-head button[data-action="close-sudoku"]{font-size:12px;padding:8px 6px}}
