:root{--ink:#172e35;--muted:#5f7072;--paper:#f7f4ec;--line:#dcded4;--green:#255c50;--mint:#d8e7cc;--coral:#d45c43;--gold:#efc175;--radius:22px;font-family:Inter,"Segoe UI","Malgun Gothic",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:4px}button,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.48}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #e49c3e;outline-offset:4px}button{border:0}img{max-width:100%;display:block}header{height:84px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,20px);gap:20px}.logo{text-decoration:none;font-size:24px;font-weight:900;letter-spacing:-1px}.logo span{font-weight:500;font-size:12px;letter-spacing:2px;margin-left:10px;border-left:1px solid #8c9896;padding-left:12px}.header-links{display:flex;align-items:center;gap:22px;font-size:13px;font-weight:650}.header-links a{text-decoration:none}.lang{border:1px solid #bbc7bc;border-radius:30px;padding:8px 13px;background:transparent;color:var(--ink)}main{max-width:1360px;margin:auto;padding:0 5vw 50px}.eyebrow{text-transform:uppercase;letter-spacing:2.2px;font-size:11px;font-weight:800;display:flex;align-items:center;gap:9px}.eyebrow:before{content:'';height:7px;width:7px;background:var(--coral);border-radius:50%}.hero{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;min-height:450px;gap:28px;padding:38px 0 32px}.hero h1{font-size:clamp(42px,5.1vw,69px);line-height:1.06;letter-spacing:-3.3px;font-weight:800;margin:23px 0 20px;max-width:560px}.hero p{font-size:16px;line-height:1.8;max-width:450px;color:var(--muted)}.hero-art{position:relative}.hero-art img{width:100%;border-radius:24px}.art-note{position:absolute;bottom:21px;left:21px;background:#fffbed;padding:9px 14px;border-radius:20px;font-size:10px;font-weight:800;letter-spacing:1px;transform:rotate(-3deg);box-shadow:0 4px 20px #0001}.primary,.secondary,.quiet{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:30px;padding:13px 22px;font-weight:750;font-size:13px;text-decoration:none;min-height:45px}.primary{color:#fff;background:var(--green)}.primary:hover{background:#183e36}.secondary{background:#e8eddf;color:var(--ink);border:1px solid #b9c8b1}.quiet{background:transparent;color:var(--ink);border:1px solid var(--line)}.hero .primary{margin-top:10px}.journey-strip{border:1px solid var(--line);border-radius:18px;display:grid;grid-template-columns:1.15fr 1fr auto;align-items:center;gap:22px;padding:22px 25px;background:#fffcf5}.passport-title{font-size:13px;margin:0 0 8px;font-weight:800}.progress-label{font-size:12px;color:var(--muted)}.pips{display:flex;gap:5px;margin-top:9px}.pips i{width:20px;height:7px;border-radius:5px;background:#e0e4d8}.pips i.done{background:var(--green)}.mini-progress{height:5px;border-radius:4px;background:#e0e4d8;margin-top:10px;max-width:260px}.mini-progress span{display:block;background:var(--coral);height:100%;border-radius:4px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:44px 0 21px}.section-head h2{font-size:27px;letter-spacing:-.8px;margin:0}.filters{display:flex;gap:5px;flex-wrap:wrap}.filter{padding:8px 16px;border-radius:25px;background:transparent;font-size:12px;color:var(--muted)}.filter.active{background:var(--ink);color:#fff}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:25px 22px}.card{border:1px solid var(--line);background:#fffcf5;border-radius:19px;overflow:hidden;transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-4px);box-shadow:0 10px 25px #173d3011}.card-art{position:relative;display:block;text-decoration:none;overflow:hidden}.card-art img{width:100%;aspect-ratio:1.7;object-fit:cover;transition:transform .35s}.card-art:hover img{transform:scale(1.025)}.badge{position:absolute;left:14px;top:14px;background:#fcf6e6;color:var(--ink);padding:6px 9px;font-size:9px;letter-spacing:1px;font-weight:850;border-radius:5px}.card-body{padding:21px}.card-meta{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);display:flex;justify-content:space-between}.card h3{font-size:22px;letter-spacing:-.6px;margin:10px 0}.card p{font-size:12px;line-height:1.8;color:var(--muted);min-height:63px}.card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:20px}.play-link{font-size:12px;font-weight:800;text-decoration:none;border-bottom:1px solid #9ab3a4;padding:0 0 4px}.stamp-dot{width:25px;height:25px;border:1px dashed #899b8d;display:grid;place-items:center;border-radius:50%;font-size:12px;color:#637d6b}.stamp-dot.won{border:1px solid var(--green);color:var(--green);background:#e5efda}.bottom-note{display:grid;grid-template-columns:1fr 1fr;gap:30px;border-top:1px solid var(--line);margin-top:45px;padding-top:25px}.bottom-note h2{font-size:20px;margin-top:0}.bottom-note p{font-size:13px;line-height:1.9;color:var(--muted)}footer{padding:25px 5vw 32px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:var(--muted);font-size:11px}.detail-top{padding-top:25px}.breadcrumb{font-size:12px;color:var(--muted)}.game-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:15px;margin:25px 0 22px}.game-heading h1{font-size:clamp(32px,4vw,49px);letter-spacing:-1.8px;margin:8px 0 4px}.game-heading p{margin:0;color:var(--muted);font-size:13px}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px;align-items:start}.stage-wrap{border-radius:20px;background:#142b35;padding:14px;position:relative;overflow:hidden}.hud{display:flex;align-items:center;justify-content:space-between;color:#f7f4e8;gap:15px;padding:4px 6px 15px;font-size:12px;min-height:44px}.hud-stat{display:flex;gap:20px}.hud-stat strong{color:#f4cb86}.hud button{background:#ffffff16;color:white;border-radius:20px;padding:8px 12px;font-size:11px}canvas{background:#14313b;width:100%;height:auto;aspect-ratio:800/480;display:block;border-radius:12px;touch-action:none;outline-offset:-4px}.game-area{position:relative}.intro-overlay,.result-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#102731bd;border-radius:12px;padding:20px;color:white;backdrop-filter:blur(4px)}.overlay-inner{max-width:460px;text-align:center}.overlay-inner h2{font-size:30px;letter-spacing:-1px;margin:12px 0}.overlay-inner p{font-size:13px;line-height:1.85;color:#e5eadf}.overlay-inner .primary{background:#edbc77;color:#1c3338}.overlay-inner .quiet{color:white;border-color:#769088}.overlay-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}.controls{display:flex;gap:9px;align-items:center;justify-content:center;flex-wrap:wrap;padding:12px 0 0;min-height:56px}.control{background:#e9e5d7;color:#18363a;border-radius:12px;padding:10px 16px;min-width:49px;min-height:44px;font-weight:800;font-size:12px;touch-action:none;user-select:none}.control:active,.control.pressed{background:#efc175}.control.wide{min-width:110px}.control.selected{background:#efc175;box-shadow:0 0 0 2px #fff7}.status{color:#dfe9dc;min-height:22px;font-size:12px;text-align:center;padding:6px 4px 0;line-height:1.5}.game-aside{background:#fffcf5;border:1px solid var(--line);border-radius:18px;padding:22px}.game-aside h2{font-size:17px;margin:0 0 12px}.game-aside p{font-size:12px;line-height:1.9;color:var(--muted)}.game-aside .place-mark{font-size:11px;color:var(--green);font-weight:800;letter-spacing:1px;margin:22px 0 10px}.game-aside .secondary{width:100%;margin:8px 0;font-size:11px}.game-aside a.source{font-size:11px;color:var(--muted)}.detail-desc{font-size:14px;line-height:1.85;color:var(--muted);max-width:800px}.board-grid{display:grid;grid-template-columns:repeat(8,1fr);width:min(420px,100%);margin:auto;aspect-ratio:1;border:5px solid #a8b299;border-radius:4px;overflow:hidden}.board-cell{background:#e7e1c8;aspect-ratio:1;display:flex;align-items:center;justify-content:center;position:relative;font-family:"Segoe UI Symbol","Arial Unicode MS",serif;font-size:clamp(18px,4vw,39px);padding:0;min-width:0;cursor:pointer;color:#112d34}.board-cell.dark{background:#66877b}.board-cell.white-piece{color:#fff9e8;text-shadow:0 2px 1px #162e35,1px 0 #162e35,-1px 0 #162e35}.board-cell.selected{background:#efbc73}.board-cell.legal:after{content:'';width:25%;height:25%;background:#d44f40b0;border-radius:50%;position:absolute}.board-cell .coord{position:absolute;left:2px;top:1px;font:8px sans-serif;opacity:.7}.board-area{padding:20px;background:#18393d;border-radius:12px;min-height:400px}.blocks-board{max-width:384px;border:5px solid #d4be96;gap:3px;background:#d4be96}.block-cell{background:#f4e4c4;border-radius:3px;aspect-ratio:1;border:0;padding:0;min-width:0;color:#fff;font-size:12px}.block-cell.filled{box-shadow:inset 0 2px #ffffff40,inset 0 -3px #0002}.block-cell.preview{background:#bad4ac}.shape-tray{display:flex;justify-content:center;gap:15px;padding:13px 0 2px}.shape-button{height:66px;min-width:80px;padding:9px 14px;background:#ffffff12;border:2px solid transparent;border-radius:10px;display:flex;align-items:center;justify-content:center}.shape-button.selected{border-color:#efc175;background:#ffffff22}.shape-grid{display:grid;gap:2px}.shape-grid i{width:14px;height:14px;border-radius:2px}.shape-grid i.on{background:#edba77}.modal{border:1px solid #c5ccbc;background:var(--paper);border-radius:22px;max-width:600px;width:calc(100% - 28px);padding:27px;color:var(--ink)}.modal::backdrop{background:#102b37a8}.modal-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.modal h2{font-size:25px;margin:0}.modal .quiet{padding:8px 13px;min-height:37px}.trip-list{margin:23px 0}.trip-item{padding:16px 0;border-bottom:1px solid var(--line)}.trip-item h3{font-size:16px;margin:0 0 8px}.trip-item p{font-size:12px;line-height:1.7;color:var(--muted)}.trip-item a{font-size:12px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:13px 20px;border-radius:30px;box-shadow:0 8px 24px #0002;font-size:13px;z-index:10}.result-panel{border:1px solid var(--line);border-radius:18px;padding:24px;margin-top:22px;background:#fffcf5}.result-panel h2{font-size:25px;margin:10px 0}.result-panel .score-big{font-size:45px;letter-spacing:-2px;color:var(--green);font-weight:850}.result-panel p{font-size:13px;color:var(--muted);line-height:1.8}.result-actions{display:flex;flex-wrap:wrap;gap:10px}.text-link{font-size:12px}.hidden,[hidden]{display:none!important}body[data-skin=sunset]{--green:#8b4e3e;--mint:#f0ddc4}.small-note{font-size:11px;line-height:1.7;color:var(--muted)}.settings-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:20px 0}.settings-row button{font-size:11px}.below-game{margin-top:28px}.under-label{font-size:10px;letter-spacing:1px;color:#74878a;text-align:center;padding-top:5px}@media(min-width:1500px){main{padding-left:55px;padding-right:55px}}@media(max-width:1000px){.game-layout{grid-template-columns:minmax(0,1fr)}.game-aside{display:grid;grid-template-columns:1fr 1fr;gap:15px}.hero h1{font-size:49px}.cards{gap:16px}.card-body{padding:17px}.card p{min-height:80px}.header-links{gap:15px}}@media(max-width:700px){header{height:68px}.logo{font-size:22px}.logo span{font-size:10px;letter-spacing:1px;margin-left:6px;padding-left:7px}.header-links a{display:none}.header-links{gap:8px}.hero{grid-template-columns:1fr;padding-top:30px;gap:22px}.hero h1{font-size:46px;letter-spacing:-2px;max-width:400px;margin:18px 0}.hero p{font-size:14px;max-width:100%}.hero-art{order:2}.hero-art img{max-height:300px;object-fit:cover}.art-note{font-size:8px;bottom:15px}.journey-strip{grid-template-columns:1fr 1fr;padding:18px;gap:20px 13px}.journey-strip>.secondary{grid-column:1/-1;width:100%}.section-head{display:block;margin-top:34px}.section-head h2{font-size:25px;margin-bottom:17px}.filters{gap:2px}.filter{padding:8px 13px}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.card h3{font-size:18px}.card-body{padding:14px}.card p{font-size:11px;min-height:95px;line-height:1.7}.card-meta{font-size:8px;letter-spacing:0}.badge{font-size:7px;left:9px;top:9px;padding:5px}.card-footer{margin-top:10px}.play-link{font-size:11px}.bottom-note{grid-template-columns:1fr;gap:5px}.game-heading{margin:20px 0 17px;align-items:flex-start}.game-heading h1{letter-spacing:-1px}.game-heading .quiet{padding:9px 11px;min-height:40px;font-size:11px}.stage-wrap{padding:9px;border-radius:15px}.game-layout{gap:17px}.hud{font-size:10px;gap:5px;padding:4px 3px 10px}.hud-stat{gap:10px}.hud button{padding:6px 9px}.overlay-inner h2{font-size:23px}.overlay-inner p{font-size:11px}.intro-overlay{padding:12px}.control{padding:9px 12px;min-width:44px;min-height:44px}.controls{gap:6px}.game-aside{display:block;padding:20px}.board-area{padding:10px;min-height:0}.board-grid{width:min(360px,100%)}.board-cell{font-size:clamp(20px,7vw,36px)}.shape-button{min-width:65px;padding:6px}.shape-grid i{width:12px;height:12px}.shape-tray{gap:8px}.hero .primary{margin-top:3px}.result-panel{padding:20px}.result-actions>*{flex:1 1 45%}.game-heading .eyebrow{font-size:9px;letter-spacing:1px}footer{line-height:1.7}}@media(max-width:380px){.cards{grid-template-columns:1fr}.card-art img{aspect-ratio:2}.card p{min-height:0}.hero h1{font-size:39px}.overlay-inner p{font-size:10px}.overlay-inner h2{font-size:20px}.hud-stat{gap:7px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
img{height:auto}.hero-art img{height:auto}.card-art img{height:auto}
h1,h2,h3,p{word-break:keep-all}.header-links{flex-shrink:0}.logo{white-space:nowrap}@media(max-width:700px){.logo span{display:none}.pips{gap:3px}.pips i{width:12px;flex-shrink:0}.journey-strip{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.hero h1{font-size:43px;line-height:1.15;letter-spacing:-1.8px}.journey-strip .progress-label{font-size:11px;line-height:1.65}}
