
    #fm-treasure-tiles { --tt-ink:light-dark(#30213e,#fbf3ff); --tt-paper:light-dark(#fff9f1,#241a31); --tt-soft:light-dark(#f0e6f2,#382a48); --tt-muted:light-dark(#66546f,#cfc0d9); --tt-line:light-dark(#d8c7de,#604b72); --tt-accent:#7546a7; color-scheme:inherit; font-family:ui-rounded,"Trebuchet MS",system-ui,sans-serif; color:var(--tt-ink); width:100%; }
    #fm-treasure-tiles * { box-sizing:border-box; }
    #fm-treasure-tiles [hidden] { display:none !important; }
    #fm-treasure-tiles .tt-game { max-width:452px; margin:auto; padding:16px; background:var(--tt-paper); border-radius:24px; border:1px solid var(--tt-line); }
    #fm-treasure-tiles .tt-heading { display:flex; justify-content:space-between; align-items:center; gap:8px; margin-bottom:14px; }
    #fm-treasure-tiles .tt-brand { font-size:11px; letter-spacing:.14em; color:var(--tt-muted); font-weight:700; text-transform:uppercase; }
    #fm-treasure-tiles h2 { margin:2px 0 0; color:var(--tt-ink); font-size:28px; letter-spacing:-1px; font-weight:900; line-height:1.1; }
    #fm-treasure-tiles button,#fm-treasure-tiles select { font:inherit; touch-action:manipulation; }
    #fm-treasure-tiles .tt-sound { background:var(--tt-soft); color:var(--tt-ink); border:1px solid var(--tt-line); border-radius:12px; min-height:44px; padding:8px 10px; font-size:12px; cursor:pointer; }
    #fm-treasure-tiles .tt-level-row { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:8px; font-size:13px; }
    #fm-treasure-tiles .tt-level { font-weight:800; }
    #fm-treasure-tiles .tt-dots { display:flex; gap:5px; }
    #fm-treasure-tiles .tt-dot { width:8px; height:8px; border-radius:50%; background:var(--tt-line); }
    #fm-treasure-tiles .tt-dot.done { background:#15916b; }
    #fm-treasure-tiles .tt-dot.current { background:var(--tt-accent); outline:2px solid var(--tt-accent); outline-offset:2px; }
    #fm-treasure-tiles .tt-hud { display:grid; grid-template-columns:1fr auto; align-items:center; gap:12px; padding:11px 14px; background:var(--tt-soft); border-radius:15px; }
    #fm-treasure-tiles .tt-label { font-size:11px; text-transform:uppercase; letter-spacing:.08em; color:var(--tt-muted); }
    #fm-treasure-tiles .tt-goals { display:flex; align-items:center; gap:9px; min-height:36px; margin-top:3px; }
    #fm-treasure-tiles .tt-goal { display:flex; align-items:center; gap:4px; font-size:17px; font-weight:800; white-space:nowrap; }
    #fm-treasure-tiles .tt-goal.done { opacity:.65; }
    #fm-treasure-tiles .tt-goal-icon { display:inline-grid; place-items:center; width:28px; height:29px; border-radius:8px; font-size:22px; }
    #fm-treasure-tiles .tt-moves-wrap { text-align:center; border-left:1px solid var(--tt-line); padding-left:13px; min-width:66px; }
    #fm-treasure-tiles .tt-moves { font-size:30px; line-height:1.2; font-weight:900; font-variant-numeric:tabular-nums; }
    #fm-treasure-tiles .tt-progress { height:5px; overflow:hidden; margin:8px 0 11px; border-radius:3px; background:var(--tt-soft); }
    #fm-treasure-tiles .tt-progress span { display:block; height:100%; width:0; background:#16946a; transition:width .25s; }
    #fm-treasure-tiles .tt-board-shell { position:relative; isolation:isolate; }
    #fm-treasure-tiles .tt-board { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:5px; padding:8px; border-radius:18px; background:light-dark(#d5c1df,#473451); border:2px solid light-dark(#b598c3,#6c5181); }
    #fm-treasure-tiles .tt-tile { --face:#7353c4; --shade:#452f81; --glyph:#fff5fc; position:relative; display:grid; place-items:center; aspect-ratio:1; min-width:0; padding:0; border-radius:12px; border:1px solid #ffffff55; border-bottom:4px solid var(--shade); color:var(--glyph); background:linear-gradient(150deg,#ffffff30,transparent 54%),var(--face); box-shadow:inset 0 2px 0 #ffffff60,0 2px 1px #24133224; cursor:pointer; user-select:none; -webkit-user-select:none; transition:transform .12s,opacity .12s; }
    #fm-treasure-tiles .tt-tile::before { content:""; position:absolute; left:12%; top:9%; width:42%; height:7%; background:#ffffff45; border-radius:10px; pointer-events:none; }
    #fm-treasure-tiles .tt-shape { display:block; font:900 clamp(25px,5vw,37px)/1 system-ui,sans-serif; text-shadow:0 2px 1px #24133250; pointer-events:none; }
    #fm-treasure-tiles .c0 { --face:#c52c65; --shade:#84143d; --glyph:#fff3f7; background-color:var(--face); color:var(--glyph); }
    #fm-treasure-tiles .c1 { --face:#087fb0; --shade:#075376; --glyph:#edffff; background-color:var(--face); color:var(--glyph); }
    #fm-treasure-tiles .c2 { --face:#ecb52e; --shade:#b07512; --glyph:#70400e; background-color:var(--face); color:var(--glyph); }
    #fm-treasure-tiles .c3 { --face:#298956; --shade:#185832; --glyph:#efffe4; background-color:var(--face); color:var(--glyph); }
    #fm-treasure-tiles .c4 { --face:#7751c8; --shade:#482d86; --glyph:#fcf1ff; background-color:var(--face); color:var(--glyph); }
    #fm-treasure-tiles .tt-tile:active { transform:translateY(2px) scale(.96); }
    #fm-treasure-tiles .tt-tile.popping { transform:scale(.25) rotate(8deg); opacity:0; }
    #fm-treasure-tiles .tt-tile.crate { --face:#be833d; --shade:#744919; background:linear-gradient(45deg,transparent 44%,#805020 45%,#e6b578 49%,#805020 55%,transparent 56%),linear-gradient(-45deg,transparent 44%,#805020 45%,#e6b578 49%,#805020 55%,transparent 56%),#cb9652; border:3px solid #895823; box-shadow:inset 0 0 0 3px #e8b773; cursor:default; }
    #fm-treasure-tiles .tt-crate-mark { background:#714311; color:#fff1d1; font-size:12px; border-radius:10px; min-width:21px; text-align:center; padding:2px 4px; }
    #fm-treasure-tiles .tt-power { font-size:29px; color:#fff8dd; text-shadow:0 2px 2px #351341; }
    #fm-treasure-tiles .tt-tile.rocket,#fm-treasure-tiles .tt-tile.bomb { background:linear-gradient(145deg,#9a68df,#5630a0); --shade:#3a1b71; border-color:#e8d29c; }
    #fm-treasure-tiles .tt-panel { position:absolute; z-index:3; inset:0; display:grid; align-items:center; padding:14px; border-radius:18px; background:light-dark(#f7eff8ee,#21192cf0); }
    #fm-treasure-tiles .tt-panel-inner { background:var(--tt-paper); border:1px solid var(--tt-line); border-radius:21px; padding:20px 16px; text-align:center; box-shadow:0 12px 24px #200e3020; }
    #fm-treasure-tiles .tt-medallion { margin:0 auto 10px; height:57px; width:57px; display:grid; place-items:center; border-radius:18px; background:#ffd876; color:#74420c; box-shadow:inset 0 0 0 3px #ffeaa8,0 4px 0 #d8942b; font-size:34px; }
    #fm-treasure-tiles h3 { font-size:25px; line-height:1.1; margin:0 0 8px; letter-spacing:-.6px; color:var(--tt-ink); font-weight:900; }
    #fm-treasure-tiles .tt-panel-copy { margin:0 auto 14px; max-width:270px; font-size:14px; line-height:1.5; color:var(--tt-muted); }
    #fm-treasure-tiles .tt-primary { display:block; width:100%; min-height:49px; padding:10px 14px; color:#fff; background:var(--tt-accent); border:0; border-bottom:4px solid #412263; border-radius:13px; font-weight:800; font-size:17px; cursor:pointer; }
    #fm-treasure-tiles .tt-status { min-height:41px; display:flex; align-items:center; justify-content:center; text-align:center; margin:8px 0 2px; color:var(--tt-muted); font-size:13px; line-height:1.4; }
    #fm-treasure-tiles .tt-bottom { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; padding-top:6px; font-size:13px; }
    #fm-treasure-tiles .tt-score { font-variant-numeric:tabular-nums; font-weight:800; }
    #fm-treasure-tiles .tt-legend { color:var(--tt-muted); font-size:12px; }
    #fm-treasure-tiles .tt-demo-controls { margin-top:12px; border-top:1px solid var(--tt-line); padding-top:12px; display:flex; align-items:center; gap:8px; font-size:12px; color:var(--tt-muted); }
    #fm-treasure-tiles .tt-demo-controls select { min-width:0; min-height:44px; flex:1; padding:7px; border:1px solid var(--tt-line); border-radius:9px; color:var(--tt-ink); background:var(--tt-paper); font-size:14px; }
    #fm-treasure-tiles .tt-disclaimer { text-align:center; margin:10px 0 0; font-size:11px; color:var(--tt-muted); }
    #fm-treasure-tiles .tt-spark { position:absolute; width:8px; height:8px; border-radius:2px; background:#efb42e; pointer-events:none; z-index:2; animation:tt-spark .5s ease-out forwards; }
    @keyframes tt-spark { to { transform:translate(var(--dx),var(--dy)) rotate(160deg); opacity:0; } }
    #fm-treasure-tiles[data-finish="Gem cut"] .tt-tile { border-radius:6px; }
    @media(max-width:380px) { #fm-treasure-tiles .tt-game{padding:8px;border-radius:18px} #fm-treasure-tiles h2{font-size:25px} #fm-treasure-tiles .tt-heading{margin-bottom:11px} #fm-treasure-tiles .tt-board{padding:5px;gap:4px} #fm-treasure-tiles .tt-hud{padding:9px 10px;gap:6px} #fm-treasure-tiles .tt-goals{gap:7px} #fm-treasure-tiles .tt-panel-inner{padding:16px 12px} #fm-treasure-tiles .tt-goal{font-size:16px} }
    @media(prefers-reduced-motion:reduce) { #fm-treasure-tiles *,#fm-treasure-tiles *::before{animation:none !important;transition:none !important} }
  :root{color-scheme:light}body{margin:0;background:#f7f0fa;color:#30213e;font-family:system-ui,sans-serif}#fm-treasure-tiles{box-sizing:border-box;padding:0 8px 24px;--tt-ink:#30213e;--tt-paper:#fffaf3;--tt-soft:#eee5f4;--tt-muted:#65526e;--tt-line:#d5c3df}
#fm-treasure-tiles .tt-nav{max-width:600px;margin:auto;padding:16px 2px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}#fm-treasure-tiles a{color:#65338d;text-decoration:underline;text-underline-offset:3px;font-weight:700}#fm-treasure-tiles h1{font-size:29px;margin:3px 0;line-height:1.1;letter-spacing:-1px}#fm-treasure-tiles h2{font-size:25px;line-height:1.2;letter-spacing:-.5px}#fm-treasure-tiles p{line-height:1.5}
#fm-treasure-tiles .tt-game{max-width:520px}#fm-treasure-tiles .tt-intro-art{display:flex;justify-content:center;gap:9px;padding:20px 0}#fm-treasure-tiles .tt-intro-art span{display:grid;place-items:center;width:62px;height:64px;border-radius:14px;border-bottom:5px solid var(--shade);font-size:36px;box-shadow:inset 0 3px 0 #ffffff55}#fm-treasure-tiles [data-setup]>h2{text-align:center;margin:10px 0}#fm-treasure-tiles .tt-earn{background:#fff0bd;border:1px solid #e0b660;padding:12px;border-radius:12px;text-align:center;color:#593d13}
#fm-treasure-tiles label{display:block;font-weight:750;margin:14px 0 6px}#fm-treasure-tiles input{display:block;box-sizing:border-box;width:100%;min-height:48px;border:2px solid #9479a8;border-radius:10px;background:#fff;color:#2d1d3c;font:inherit;font-size:17px;padding:10px}#fm-treasure-tiles input:-webkit-autofill{-webkit-text-fill-color:#2d1d3c;box-shadow:inset 0 0 0 100px #fff}#fm-treasure-tiles input::selection{background:#65338d;color:#fff}#fm-treasure-tiles input:focus{outline:3px solid #b18bdb;outline-offset:2px}#fm-treasure-tiles .tt-private{color:#65526e;font-size:13px}
#fm-treasure-tiles button:focus-visible{outline:3px solid #057e9d;outline-offset:3px}#fm-treasure-tiles button:disabled{cursor:default}#fm-treasure-tiles button:not(.tt-tile):not(.tt-primary):not(.tt-sound){min-height:44px;border:1px solid #9c83ad;border-radius:10px;background:#fff;color:#502971;padding:8px 12px;font:inherit;font-weight:700;cursor:pointer}#fm-treasure-tiles .tt-primary:disabled{opacity:.65}#fm-treasure-tiles .tt-help{margin:14px 0}#fm-treasure-tiles .tt-rules{margin:0 0 20px;font-size:13px;color:#65526e}#fm-treasure-tiles summary{min-height:44px;cursor:pointer;font-weight:700;padding:10px 0}
#fm-treasure-tiles .tt-result{background:#fff3d2;border:2px solid #dfb665;border-radius:20px;padding:20px 16px;margin:16px 0;text-align:center;scroll-margin-top:12px}#fm-treasure-tiles .tt-result h2{margin:6px 0}#fm-treasure-tiles [data-ticket-reward]{display:block;color:#71358e;font-size:28px;line-height:1.25;margin:14px 0}#fm-treasure-tiles .tt-ratings{display:flex;justify-content:center;gap:7px;flex-wrap:wrap}#fm-treasure-tiles .tt-ratings button{font-size:27px!important;min-width:44px;padding:6px!important}#fm-treasure-tiles [data-rating][aria-pressed=true]{outline:3px solid #71358e}#fm-treasure-tiles .tt-links{display:flex;flex-wrap:wrap;justify-content:center;gap:15px;margin-top:16px;font-size:14px}
#fm-treasure-tiles [data-lesson]{background:#fff0bd;border:2px solid #d4a84d;border-radius:12px;padding:12px;margin:12px 0;color:#4c3317}#fm-treasure-tiles [data-lesson] p{margin:5px 0 9px;font-size:14px}#fm-treasure-tiles .tt-tile.lesson-target{outline:3px solid #fff;outline-offset:-5px;box-shadow:0 0 0 2px #63338a}#fm-treasure-tiles [data-lesson-mode] .tt-tile:disabled{opacity:.45}
#fm-treasure-tiles .tt-board{background:#d8c4e3}#fm-treasure-tiles .tt-leaderboard{border-top:1px solid #d5c3df;padding-top:20px;margin-top:20px}#fm-treasure-tiles [data-leaders]{padding:0;list-style:none}#fm-treasure-tiles [data-leaders] li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 8px;border-bottom:1px solid #e5d8ed;overflow-wrap:anywhere}#fm-treasure-tiles [data-leaders] strong{white-space:nowrap;color:#71358e}#fm-treasure-tiles footer{text-align:center;padding:20px;font-size:13px}
@media(max-width:380px){#fm-treasure-tiles{padding-inline:2px}#fm-treasure-tiles .tt-game{padding:6px}#fm-treasure-tiles .tt-board{gap:3px;padding:3px}#fm-treasure-tiles .tt-heading h1{font-size:26px}#fm-treasure-tiles .tt-tile{border-radius:9px}#fm-treasure-tiles .tt-goals{gap:5px}}
