:root{color-scheme:light;--paper: #f4f0e6;--paper-deep: #e7e0cf;--surface: #fffdf7;--ink: #172522;--muted: #58635f;--forest: #1e4b42;--forest-dark: #143a33;--gold: #d9aa45;--gold-soft: #f4dfae;--coral: #b8553f;--line: #d9d3c4;--shadow: 0 22px 60px rgba(37, 48, 43, .12);--radius-lg: 24px;--radius-md: 14px;font-family:Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif;background:var(--paper);color:var(--ink)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--paper);line-height:1.75}button,textarea,select{font:inherit}button,summary,.dropzone{-webkit-tap-highlight-color:transparent}button:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,.dropzone:focus-within{outline:3px solid rgba(184,85,63,.38);outline-offset:3px}.site-header,main,footer{width:min(1120px,calc(100% - 40px));margin-inline:auto}.site-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px 0}.brand{display:inline-flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--forest);color:var(--gold-soft);font:800 22px/1 Georgia,serif;transform:rotate(-3deg)}.brand-symbol{background:transparent;overflow:hidden}.brand-symbol img{display:block;width:100%;height:100%}.brand b{display:block;font:800 15px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.12em}.brand small{display:block;margin-top:4px;color:var(--muted);font-size:14px}.local-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid #bdd2c8;border-radius:999px;color:var(--forest);background:#edf5ee;font-size:14px;font-weight:700}.local-badge span{color:#4d9a70;font-size:14px}.hero{padding:78px 0 48px}.eyebrow,.step-label{margin:0 0 10px;color:var(--coral);font:800 14px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.13em}.hero h1{max-width:920px;margin:0;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(42px,8vw,84px);line-height:1.12;letter-spacing:-.045em}.hero h1 span{color:var(--forest)}.hero-copy{max-width:720px;margin:28px 0 0;color:var(--muted);font-size:16px}.tool-shell{position:relative;padding:clamp(24px,5vw,50px);overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow)}.tool-shell:before{content:"";position:absolute;top:-90px;right:-70px;width:250px;height:250px;border:34px solid rgba(217,170,69,.16);border-radius:50%;pointer-events:none}.tool-heading-row,.file-meta,footer{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}h2{margin:0;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(24px,4vw,36px);line-height:1.35}.text-button{padding:7px 0;border:0;border-bottom:1px solid currentColor;background:transparent;color:var(--forest);cursor:pointer;font-weight:700}#sourceText,#resultText{width:100%;border:1px solid #cbc4b3;border-radius:var(--radius-md);background:#fff;color:var(--ink);font-family:ui-monospace,SFMono-Regular,Consolas,BIZ UDPGothic,monospace;line-height:1.7;resize:vertical}#sourceText,#resultText{min-height:280px;padding:18px;font-size:15px}#sourceText::placeholder,#resultText::placeholder{color:#9a988f}#resultText{background:#f7f8f4}.repair-grid{display:grid;grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr);align-items:start;margin-top:28px}.editor-panel{min-width:0}.editor-heading{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}.editor-heading span{padding:3px 7px;border-radius:5px;background:var(--paper-deep);color:var(--muted);font:800 14px ui-monospace,monospace}.editor-heading label{font-size:14px;font-weight:800}.flow-arrow{display:grid;place-items:center;min-height:280px;color:var(--coral);font:700 24px/1 Georgia,serif}.primary-actions{display:flex;align-items:center;gap:10px;margin-top:14px;flex-wrap:wrap}.primary-button,.secondary-button,.copy-button{border-radius:10px;cursor:pointer;font-weight:800;transition:transform .15s ease,background .15s ease,border-color .15s ease}.primary-button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;min-width:240px;padding:14px 18px;border:1px solid var(--forest);background:var(--forest);color:#fff}.primary-button:hover{background:var(--forest-dark);transform:translateY(-1px)}.primary-button:disabled{opacity:.45;cursor:not-allowed;transform:none}.primary-button.compact{min-width:210px;margin-top:16px}.secondary-button{padding:14px 18px;border:1px solid var(--line);background:transparent;color:var(--ink)}.secondary-button:hover{border-color:var(--ink)}.shortcut{margin:8px 0 0;color:var(--muted);font-size:14px}.status{min-height:1.75em;margin:0;color:var(--forest);font-size:14px;font-weight:700}.result-actions{display:flex;align-items:center;gap:14px;margin-top:14px}.copy-button{min-width:104px;padding:9px 14px;border:1px solid var(--forest);background:transparent;color:var(--forest)}.copy-button:hover,.copy-button.copied{background:var(--forest);color:#fff}.copy-button:disabled{opacity:.42;cursor:not-allowed;background:transparent;color:var(--forest)}.result-copy{min-height:48px}.alternatives{margin-top:14px;border-top:1px solid var(--line)}.alternatives summary{padding:14px 2px 8px;cursor:pointer;color:var(--muted);font-size:14px;font-weight:700}.alternate-list{display:flex;gap:8px;flex-wrap:wrap;padding:4px 0 2px}.alternate-button{padding:8px 11px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--ink);cursor:pointer;font-size:14px;font-weight:700}.alternate-button:hover{border-color:var(--forest);color:var(--forest)}.trust-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:28px 0 72px;border-block:1px solid var(--line)}.trust-strip article{position:relative;padding:28px}.trust-strip article+article{border-left:1px solid var(--line)}.trust-strip span{position:absolute;top:28px;right:28px;color:#a7a090;font:700 14px ui-monospace,monospace}.trust-strip h3{margin:0 0 8px;font-size:15px}.trust-strip p{margin:0;color:var(--muted);font-size:14px}.file-tool{margin:0 0 84px}.file-tool>details{border:1px solid var(--line);border-radius:var(--radius-lg);background:#ebe4d5;overflow:hidden}.file-tool summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 32px;cursor:pointer;list-style:none}.file-tool summary::-webkit-details-marker{display:none}.file-tool summary span:first-child{display:flex;align-items:center;gap:18px}.file-tool summary small{padding:5px 8px;border-radius:6px;background:var(--forest);color:#fff;font:700 14px ui-monospace,monospace}.file-tool summary strong{font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:20px}.summary-action{color:var(--forest);font-size:14px;font-weight:800}.file-tool-body{padding:0 32px 32px}.section-intro{max-width:720px;margin:0 0 20px;color:var(--muted);font-size:14px}.dropzone{display:grid;place-items:center;min-height:180px;padding:25px;border:2px dashed #a8a18f;border-radius:var(--radius-md);background:#ffffff73;cursor:pointer;text-align:center}.dropzone.dragging{border-color:var(--coral);background:#fff7e8}.dropzone input{position:absolute;width:1px;height:1px;opacity:0}.drop-icon{font:300 34px/1 Georgia,serif;color:var(--coral)}.dropzone strong{margin-top:8px}.dropzone small{margin-top:4px;color:var(--muted)}.file-result{margin-top:22px;padding:22px;border-radius:var(--radius-md);background:var(--surface)}.file-meta{justify-content:flex-start}.file-meta>div{min-width:210px}.file-meta small,.preview-box small{display:block;color:var(--muted);font-size:11px}.file-meta strong{display:block;margin-top:4px;word-break:break-word}.encoding-settings{display:flex;align-items:end;gap:14px;margin-top:22px}.encoding-settings label{display:grid;gap:7px;flex:1;color:var(--muted);font-size:14px}.encoding-settings select{width:100%;padding:11px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}.preview-box{margin-top:20px;padding:14px;border:1px solid var(--line);border-radius:9px;background:#fff}.preview-box pre{max-height:180px;margin:7px 0 0;overflow:auto;white-space:pre-wrap;word-break:break-all;font:12px/1.65 ui-monospace,monospace}.warning{margin:12px 0 0;font-size:14px;font-weight:700}.warning.safe{color:#347155}.warning.danger{color:var(--coral)}.guide{display:grid;grid-template-columns:.85fr 1.4fr;gap:60px;margin-bottom:90px}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.guide-grid article{padding:24px;border-top:3px solid var(--forest);background:#ffffff6b}.guide-grid article+article{border-top-color:var(--coral)}.guide-kicker{margin:0 0 14px;font-size:14px;font-weight:800;letter-spacing:.08em}.guide-kicker.good{color:var(--forest)}.guide-kicker.bad{color:var(--coral)}.guide-grid h3{margin:0 0 10px;font-size:17px}.guide-grid article>p:last-child{margin:0;color:var(--muted);font-size:14px}.faq{max-width:820px;margin-bottom:90px}.faq h2{margin-bottom:24px}.faq details{border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{padding:18px 4px;cursor:pointer;font-weight:800}.faq details p{margin:-5px 0 20px;color:var(--muted);font-size:14px}footer{align-items:end;padding:28px 0 42px;border-top:1px solid var(--line)}footer b{font:800 14px ui-monospace,monospace;letter-spacing:.14em}footer p{margin:5px 0 0;color:var(--muted);font-size:14px}footer nav{display:flex;flex:none;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:22px;color:var(--muted);font-size:14px}footer nav a,footer nav span{white-space:nowrap}footer nav a{color:inherit;text-decoration:none}footer nav a:hover{color:var(--forest);text-decoration:underline}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:780px){main{width:min(100% - 28px,1120px)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important}}:root{--mj-green:#143f35;--mj-green-2:#1e5b4c;--mj-gold:#c9963f;--mj-table:#176249;--mj-paper:#f6f1e7;--mj-ink:#183028;--mj-muted:#66746f}.seventeen-page{margin:0;background:var(--mj-paper);color:var(--mj-ink);font-family:Yu Gothic,Hiragino Kaku Gothic ProN,sans-serif}.seventeen-page button,.seventeen-page select{font:inherit}.seventeen-hero{padding:clamp(42px,7vw,76px) 0 34px}.seventeen-hero .eyebrow,.seventeen-guide .eyebrow,.seventeen-result .eyebrow,.hand-builder .eyebrow{margin:0 0 8px;color:#a27429;font:900 14px ui-monospace,monospace;letter-spacing:.18em}.seventeen-hero h1{margin:0;color:var(--mj-green);font:900 clamp(42px,7vw,74px)/1.05 "Yu Mincho",serif}.seventeen-hero>p:last-child{margin:14px 0 0;color:var(--mj-muted);font-size:14px;font-weight:700}.seventeen-app{overflow:hidden;border:1px solid #cfc4ae;border-radius:22px;background:#fffdf8;box-shadow:var(--shadow)}.seventeen-settings{display:flex;align-items:end;gap:12px;padding:15px 18px;background:var(--mj-green);color:#fff}.seventeen-settings label{display:grid;gap:4px;font-size:14px;font-weight:900}.seventeen-settings select{min-width:130px;padding:9px;border:1px solid rgba(255,255,255,.35);border-radius:7px;background:#fff;color:#20362e;font-size:14px;font-weight:800}.seventeen-settings>button{margin-left:auto;padding:10px 15px;border:1px solid #fff;border-radius:7px;background:#fff;color:var(--mj-green);cursor:pointer;font-size:14px;font-weight:900}.seventeen-settings button:disabled,.seventeen-settings select:disabled{opacity:.55;cursor:default}.seventeen-statusbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 20px;border-bottom:1px solid #ddd3c1;background:#f1eadc}.seventeen-statusbar>span:first-child small,.seventeen-statusbar>span:first-child strong,.dora-display small{display:block}.seventeen-statusbar small{color:var(--mj-muted);font-size:14px}.seventeen-statusbar strong{margin-top:3px;font-size:14px}.dora-display{display:flex!important;align-items:center;gap:10px}.dora-display .mahjong-tile{width:36px;height:48px}.hand-builder{padding:clamp(18px,3vw,34px)}.builder-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.builder-heading h2{margin:0;font-size:clamp(20px,3vw,29px)}.builder-heading>div>p:last-child{margin:7px 0 0;color:var(--mj-muted);font-size:14px}.builder-heading>strong{flex:none;padding:10px 13px;border-radius:8px;background:var(--mj-green);color:#fff;font-size:14px}.selected-hand,.available-pool{margin-top:24px}.selected-hand h3,.available-pool h3,.reserve-area h3{margin:0 0 9px;color:var(--mj-muted);font-size:14px}.tile-grid{display:flex;flex-wrap:wrap;gap:4px;min-height:60px}.tile-grid.is-pool{display:grid;grid-template-columns:repeat(17,minmax(34px,1fr));gap:5px}.mahjong-tile{position:relative;display:block;width:42px;height:58px;padding:2px;border:1px solid #b8aa8e;border-bottom-width:3px;border-radius:5px;background:#fffdf7;box-shadow:0 2px 4px #00000038;line-height:1;-webkit-user-select:none;user-select:none;overflow:hidden}.mahjong-tile img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}.mahjong-tile.is-back{background:#b73534;box-shadow:0 2px 4px #00000047}button.mahjong-tile{cursor:pointer}button.mahjong-tile:hover:not(:disabled),button.mahjong-tile:focus-visible{transform:translateY(-3px);border-color:var(--mj-gold);box-shadow:0 4px 0 var(--mj-gold),0 5px 9px #00000047;outline:none}button.mahjong-tile:disabled{cursor:default;opacity:.62;filter:brightness(.44) saturate(.5);box-shadow:inset 0 0 0 999px #0b211a73}.hand-analysis{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:22px;padding:13px 16px;border-left:4px solid #b0a58f;background:#f4efe5}.hand-analysis.is-valid{border-left-color:#288057;background:#e8f4ec}.hand-analysis.is-invalid{border-left-color:#b75043;background:#f9ebe8}.hand-analysis strong{font-size:14px}.hand-analysis span{color:var(--mj-muted);font-size:14px}.builder-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.builder-actions button,.ron-prompt button,.seventeen-record button{padding:9px 13px;border:1px solid #9eaaa4;border-radius:7px;background:#fff;color:var(--mj-green);cursor:pointer;font-size:14px;font-weight:900}.builder-actions button.primary,.ron-prompt button.primary{border-color:var(--mj-green);background:var(--mj-green);color:#fff}.builder-actions button:disabled{cursor:default;opacity:.4}.seventeen-table{position:relative;padding:24px;background:radial-gradient(circle at center,#238065,#12513e 70%);color:#fff}.opponent-zone,.player-zone{display:grid;justify-items:center;gap:10px}.zone-label{display:flex;align-items:center;gap:12px}.zone-label strong{font-size:14px}.zone-label span{color:#c7ddd5;font-size:14px}.river{display:grid;grid-template-columns:repeat(17,32px);gap:3px;justify-content:center;min-height:44px}.river .mahjong-tile{width:29px;height:40px}.table-center{display:grid;place-items:center;margin:17px auto;width:112px;height:62px;border:1px solid rgba(255,255,255,.28);background:#082d227a}.table-center span{font:900 18px Yu Mincho,serif}.table-center small{color:#c9ddd5;font-size:14px}.player-zone .tile-grid.is-hand,.opponent-zone .tile-grid.is-hand{justify-content:center}.reserve-area{width:100%;margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.25)}.reserve-area h3{color:#d2e3dc;text-align:center}.tile-grid.is-reserve{justify-content:center}.tile-grid.is-reserve .mahjong-tile{width:38px;height:52px}.ron-prompt{position:absolute;inset:50% auto auto 50%;z-index:3;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;width:min(92%,470px);padding:18px;transform:translate(-50%,-50%);border:2px solid #dfbb65;border-radius:12px;background:#fffdf7;box-shadow:0 20px 70px #0006;color:var(--mj-ink)}.ron-prompt[hidden]{display:none}.ron-prompt strong,.ron-prompt span{display:block}.ron-prompt strong{font-size:17px}.ron-prompt span{margin-top:3px;color:var(--mj-muted);font-size:14px}.seventeen-result{padding:24px;text-align:center;background:#f5ead3}.seventeen-result[hidden]{display:none}.seventeen-result h2{margin:0;color:var(--mj-green);font:900 30px Yu Mincho,serif}.seventeen-result>p:nth-child(3){margin:7px 0;color:var(--mj-muted);font-size:14px}.seventeen-result>div{font-size:14px;font-weight:800}.seventeen-record{padding:22px;border-top:1px solid #ddd4c3}.seventeen-record>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.seventeen-record h2{margin:0;font-size:15px}.seventeen-record>div span{display:flex;gap:6px}.seventeen-record ol{display:grid;gap:5px;max-height:230px;margin:12px 0 0;padding:0;overflow:auto;list-style:none}.seventeen-record li{padding:7px 10px;border-radius:5px;background:#f4efe5;color:#55655e;font-size:14px}.seventeen-guide{display:grid;grid-template-columns:.75fr 1.25fr;gap:50px;margin:62px 0 75px}.seventeen-guide h2{margin:0;color:var(--mj-green);font:900 clamp(28px,4vw,43px)/1.2 serif}.seventeen-guide>div:last-child{border-top:1px solid #cdc5b5}.seventeen-guide article{display:grid;grid-template-columns:38px 1fr;gap:10px;padding:16px 2px;border-bottom:1px solid #cdc5b5}.seventeen-guide article b{color:#a2732e;font:900 14px ui-monospace,monospace}.seventeen-guide article p{margin:0;color:#59635e;font-size:14px;line-height:1.75}.seventeen-page footer{border-top:1px solid var(--line)}.seventeen-page footer nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 16px}.seventeen-page footer a{color:var(--muted);font-size:14px}@media(max-width:900px){.tile-grid.is-pool{grid-template-columns:repeat(9,minmax(34px,1fr))}.river{grid-template-columns:repeat(9,32px)}.seventeen-guide{grid-template-columns:1fr;gap:22px}}@media(max-width:600px){.seventeen-page .site-header,.seventeen-page main,.seventeen-page footer{width:min(100% - 24px,1120px)}.seventeen-page .mini-nav,.seventeen-page .brand small{display:none}.seventeen-hero{padding-top:30px}.seventeen-statusbar{padding:11px 13px}.hand-builder{padding:16px 11px}.builder-heading{display:grid}.builder-heading>strong{justify-self:start}.tile-grid{gap:2px}.tile-grid.is-pool{grid-template-columns:repeat(9,1fr);gap:3px}.mahjong-tile{width:calc((100vw - 50px)/9);max-width:39px;height:52px}.mahjong-tile b{font-size:16px}.builder-actions{display:grid;grid-template-columns:1fr 1fr}.builder-actions .primary{grid-column:1/-1}.hand-analysis{display:grid}.seventeen-table{padding:17px 7px}.river{grid-template-columns:repeat(9,29px)}.tile-grid.is-reserve .mahjong-tile{width:calc((100vw - 54px)/9);height:49px}.opponent-zone .mahjong-tile,.player-zone .tile-grid.is-hand .mahjong-tile{width:calc((100vw - 50px)/13);height:46px}.opponent-zone .mahjong-tile b,.player-zone .tile-grid.is-hand .mahjong-tile b{font-size:13px}.opponent-zone .mahjong-tile small,.player-zone .tile-grid.is-hand .mahjong-tile small{font-size:7px}.ron-prompt{grid-template-columns:1fr 1fr}.ron-prompt>div{grid-column:1/-1}.seventeen-page footer{display:block}.seventeen-page footer nav{justify-content:flex-start;margin-top:15px}}.dora-display>button{padding:7px 10px;border:1px solid #9ca8a2;border-radius:6px;background:#fff;color:var(--mj-green);cursor:pointer;font-size:14px;font-weight:900}.dora-display>button:disabled{opacity:.4;cursor:default}.seventeen-stats{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 22px;border-top:1px solid #ddd4c3}.seventeen-stats[hidden]{display:none}.seventeen-stats>div{display:flex;align-items:center;gap:10px}.seventeen-stats h2{margin:0;font-size:15px}.seventeen-stats p{margin:0;color:var(--mj-green);font-size:15px;font-weight:900}.seventeen-stats button{padding:7px 10px;border:1px solid #9eaaa4;border-radius:6px;background:#fff;color:var(--mj-green);cursor:pointer;font-size:14px;font-weight:900}@media(max-width:600px){.seventeen-stats{padding:15px 11px}.seventeen-stats p{font-size:14px}}.selected-hand[hidden]{display:none}.hand-analysis{display:block}.hand-analysis ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:7px;margin:10px 0 0;padding:0;list-style:none}.hand-analysis li{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;padding:8px 10px;border-radius:5px;background:#ffffff8f;font-size:14px}.hand-analysis li b{color:var(--mj-green)}.hand-analysis li span{color:var(--mj-ink);font-weight:800}.hand-analysis li small{grid-column:1/-1;color:var(--mj-muted);font-size:14px}button.mahjong-tile:disabled{filter:none;opacity:1;box-shadow:0 2px 4px #00000038}.tile-grid.is-pool button.mahjong-tile:disabled{cursor:default;opacity:.62;filter:brightness(.44) saturate(.5);box-shadow:inset 0 0 0 999px #0b211a73}.hand-selection-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(272px,.85fr);gap:18px;align-items:start;min-height:108px}.hand-selection-row .selected-hand{margin-top:0;min-height:96px}.wait-panel{min-height:96px;padding-left:18px;border-left:1px solid color-mix(in srgb,var(--line),transparent 20%)}.wait-panel h3{margin:0 0 8px;font-size:.95rem}.wait-tiles{display:flex;flex-wrap:wrap;gap:8px 12px}.wait-tile{display:flex;align-items:center;gap:7px}.wait-tile-face .mahjong-tile{width:48px;height:66px}.wait-tile strong{display:block;font-size:1rem;line-height:1.2}.wait-tile small{display:block;max-width:11em;margin-top:3px;color:var(--mj-muted);font-size:.78rem;line-height:1.35}@media(max-width:720px){.hand-selection-row{grid-template-columns:1fr;min-height:188px}.wait-panel{padding-top:12px;padding-left:0;border-top:1px solid color-mix(in srgb,var(--line),transparent 20%);border-left:0}}.dora-display small{font-size:14px;font-weight:900}.selected-hand .tile-grid.is-hand{flex-wrap:nowrap;gap:2px;overflow:hidden}.selected-hand .tile-grid.is-hand .mahjong-tile{box-sizing:border-box;flex:0 1 42px;width:42px;min-width:0;height:auto;aspect-ratio:42/58}.opponent-reserve{width:100%;padding-top:10px;border-top:1px solid rgba(255,255,255,.25)}.opponent-reserve[hidden]{display:none}.opponent-reserve h3{margin:0 0 7px;color:#d2e3dc;font-size:14px;text-align:center}.opponent-reserve .tile-grid{justify-content:center}.side-assignment{display:grid;gap:4px;min-width:130px;font-size:14px;font-weight:900}.side-assignment strong{display:grid;min-height:35px;place-items:center;padding:8px 10px;border:1px solid rgba(255,255,255,.35);border-radius:7px;background:#fff;color:#20362e;font-size:14px}.river .mahjong-tile.is-riichi{z-index:1;transform:rotate(90deg)}.river .mahjong-tile.is-riichi{transform:rotate(-90deg)}.tile-grid.is-pool button.mahjong-tile.is-selected{cursor:pointer;opacity:.62;filter:brightness(.44) saturate(.5);box-shadow:inset 0 0 0 999px #0b211a73}.wait-tile small+small{margin-top:2px;color:#8b5d25}.seventeen-yaku{display:grid;grid-template-columns:.75fr 1.25fr;gap:50px;margin:-28px 0 75px}.seventeen-yaku h2{margin:0;color:var(--mj-green);font:900 clamp(28px,4vw,43px)/1.2 serif}.yaku-guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.yaku-guide-grid article{padding:15px;border:1px solid #d3c9b7;border-radius:9px;background:#fffaf0}.yaku-guide-grid h3{margin:0 0 5px;color:var(--mj-green);font-size:14px}.yaku-guide-grid p{margin:0;color:#59635e;font-size:14px;line-height:1.7}@media(max-width:900px){.seventeen-yaku{grid-template-columns:1fr;gap:22px}}@media(max-width:600px){.yaku-guide-grid{grid-template-columns:1fr}}@media(max-width:600px){.tile-grid.is-pool{grid-template-columns:repeat(9,minmax(0,1fr))}.tile-grid.is-pool .mahjong-tile{box-sizing:border-box;width:100%;max-width:none;height:auto;aspect-ratio:42/58}.tile-grid.is-reserve .mahjong-tile{box-sizing:border-box;width:min(38px,calc((100% - 24px)/9));height:auto;aspect-ratio:42/58}.opponent-zone .tile-grid.is-hand,.player-zone .tile-grid.is-hand{width:100%;flex-wrap:nowrap}.opponent-zone .mahjong-tile,.player-zone .tile-grid.is-hand .mahjong-tile{box-sizing:border-box;flex:0 1 42px;width:calc((100% - 24px)/13);min-width:0;height:auto;aspect-ratio:42/58}}.round-info{display:flex;align-items:center;gap:8px}.round-tile-info{display:flex!important;align-items:center;gap:6px;padding:2px;border:2px solid #171717;border-radius:5px;background:#fff}.round-tile-info .mahjong-tile{width:36px;height:48px}.round-tile-info small{padding-left:3px;color:#222;font-weight:900}.round-info>button{padding:7px 10px;border:1px solid #9ca8a2;border-radius:6px;background:#fff;color:var(--mj-green);cursor:pointer;font-size:14px;font-weight:900}.round-info>button:disabled{opacity:.4;cursor:default}.mahjong-tile.is-winning-candidate{border:3px solid #e43d31!important;box-shadow:0 0 0 2px #fff,0 0 0 5px #e43d31,0 3px 10px #0008!important}@media(max-width:600px){.seventeen-statusbar{align-items:flex-start;gap:8px}.round-info{gap:3px}.round-tile-info{gap:2px;padding:1px}.round-tile-info .mahjong-tile{width:27px;height:37px}.round-tile-info small{padding-left:1px;font-size:9px}.round-info>button{padding:6px 5px}}.seventeen-match-score{display:flex;align-items:center;justify-content:center;gap:24px;padding:8px 14px;border-bottom:1px solid #d7c9ac;background:#f6e4b7;color:#42331e;font-size:14px}.seventeen-match-score[hidden]{display:none}.seventeen-match-score strong{color:var(--mj-green)}.seventeen-result>button{margin-top:12px;padding:9px 18px;border:1px solid var(--mj-green);border-radius:7px;background:var(--mj-green);color:#fff;cursor:pointer;font-size:14px;font-weight:900}.seventeen-result>button[hidden]{display:none}@media(max-width:600px){.seventeen-settings{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:7px}.seventeen-settings select,.side-assignment strong{min-height:30px;padding:4px 5px}.seventeen-settings>button{grid-column:auto;padding:5px}.seventeen-match-score{gap:8px;padding:5px;font-size:14px}.seventeen-result{padding:12px}.seventeen-result h2{font-size:22px}}.seventeen-table>.seventeen-result{position:absolute;right:9px;bottom:9px;z-index:5;display:flex;align-items:center;gap:7px;width:max-content;max-width:calc(100% - 18px);padding:5px 6px 5px 9px;border:1px solid #d5bd80;border-radius:7px;background:#fffdf7f5;box-shadow:0 4px 14px #092d2470;color:var(--mj-ink);text-align:left;white-space:nowrap}.seventeen-table>.seventeen-result[hidden]{display:none}.seventeen-table>.seventeen-result h2{flex:none;margin:0;color:var(--mj-green);font:900 14px/1.2 sans-serif}.seventeen-table>.seventeen-result>p{min-width:0;margin:0!important;overflow:hidden;color:var(--mj-muted);font-size:14px!important;text-overflow:ellipsis}.seventeen-table>.seventeen-result>div{min-width:0;overflow:hidden;font-size:14px;text-overflow:ellipsis}.seventeen-table>.seventeen-result>button{flex:none;margin:0;padding:6px 9px;font-size:14px}@media(max-width:600px){.seventeen-table>.seventeen-result{right:5px;bottom:5px;gap:4px;max-width:calc(100% - 10px);padding:4px 4px 4px 6px}.seventeen-table>.seventeen-result h2{font-size:14px}.seventeen-table>.seventeen-result>p{font-size:14px!important}.seventeen-table>.seventeen-result>div{font-size:14px}.seventeen-table>.seventeen-result>button{min-height:26px;padding:4px 6px;font-size:14px}}@media(max-width:620px){.hand-selection-row,.selected-hand,.wait-panel{min-width:0;max-width:100%}.selected-hand .tile-grid.is-hand{width:100%;gap:1px}.selected-hand .tile-grid.is-hand .mahjong-tile{flex:1 1 0;width:auto;min-width:0;max-width:calc((100% - 12px)/13)}.wait-tiles{max-width:100%;gap:5px}.wait-tile{min-width:0;max-width:100%}.wait-tile strong{font-size:13px}.wait-tile small{font-size:10px}}.seventeen-table:has(.seventeen-result.has-winning-hand){position:relative}.seventeen-result.has-winning-hand{position:absolute;z-index:12;left:50%;top:50%;transform:translate(-50%,-50%);width:min(94%,780px);padding:18px;box-sizing:border-box;border:3px solid #deb555;border-radius:12px;background:#fff9e9;box-shadow:0 10px 40px #0008;text-align:center;white-space:normal}.winning-hand{justify-content:center;flex-wrap:nowrap;gap:3px;margin:12px auto}.winning-hand .mahjong-tile{flex:0 1 42px;min-width:0;aspect-ratio:42/58;height:auto}@media(max-width:620px){.seventeen-result.has-winning-hand{width:96%;padding:9px}.winning-hand{gap:1px}.winning-hand .mahjong-tile{flex:1 1 0;width:auto}}.seventeen-table>.seventeen-result.has-winning-hand{display:block;right:auto;bottom:auto;max-width:96%}.seventeen-table>.seventeen-result.has-winning-hand h2{font-size:22px}.seventeen-table>.seventeen-result.has-winning-hand>p{font-size:14px!important;margin-top:8px!important;white-space:normal}.seventeen-table>.seventeen-result.has-winning-hand>div{overflow:visible;white-space:normal;font-size:14px}.seventeen-table>.seventeen-result.has-winning-hand .winning-hand{display:flex;width:100%}.seventeen-table>.seventeen-result.has-winning-hand .winning-hand .mahjong-tile{max-width:calc((100% - 39px)/14)}#nextSeventeenRound{position:absolute;z-index:13;right:9px;bottom:9px;padding:8px 12px;border:1px solid #bb994a;border-radius:7px;background:#fff4ca;color:#173f35;font-weight:900;cursor:pointer}#nextSeventeenRound[hidden]{display:none}.seventeen-table>.seventeen-result{inset:50% auto auto 50%;transform:translate(-50%,-50%);display:block;padding:0;border:0;background:none;box-shadow:none;text-align:center}.seventeen-table>.seventeen-result:not(.has-winning-hand) h2{font-size:32px;color:#fff}.seventeen-table>.seventeen-result.has-winning-hand{display:flex;flex-direction:column;gap:6px;width:min(96%,700px);min-height:0;height:auto;padding:10px 12px;background:#fff;border:2px solid #fff;white-space:normal}.seventeen-table>.seventeen-result.has-winning-hand .winning-hand{display:flex;align-items:center;justify-content:center;gap:2px;margin:0;min-height:0;width:100%}.seventeen-table>.seventeen-result.has-winning-hand .winning-hand>.mahjong-tile{flex:0 1 42px;width:42px;max-width:calc((100% - 44px)/14);height:auto;aspect-ratio:42/58}.winning-hand .winning-tile{display:flex;flex:0 1 42px;min-width:0;margin-left:10px}.winning-hand .winning-tile .mahjong-tile{width:100%;max-width:none!important;height:auto;aspect-ratio:42/58}.seventeen-table>.seventeen-result.has-winning-hand>#resultYaku{font-size:14px;line-height:1.4}.seventeen-table>.seventeen-result.has-winning-hand>#seventeenResultText{font-size:16px!important;line-height:1.3;margin:0!important;font-weight:800;color:var(--mj-ink)}.seventeen-table>.seventeen-result.has-winning-hand>button{align-self:flex-end;margin:0;padding:4px 10px}.seventeen-table>.seventeen-result[hidden],.seventeen-table>.seventeen-result [hidden]{display:none!important}@media(max-width:620px){.seventeen-table>.seventeen-result.has-winning-hand{padding:7px 6px;gap:4px}.seventeen-table>.seventeen-result.has-winning-hand>#resultYaku{font-size:14px}.winning-hand .winning-tile{margin-left:6px}}.seventeen-table:has(>.seventeen-result:not([hidden]))>.table-center{visibility:hidden}.seventeen-table>.seventeen-result.has-winning-hand h2{font-size:20px;line-height:1.2;margin:0}.mahjong-tile.is-ron-discard,.winning-tile .mahjong-tile{border:3px solid #ed3f34;box-shadow:0 0 0 2px #ffed8c,0 0 14px #ff654c;filter:brightness(1.15)}.mahjong-tile.is-ron-discard{animation:ronTileGlow .7s ease-in-out}@keyframes ronTileGlow{50%{transform:scale(1.15)}}@media(max-width:620px){.seventeen-table>.seventeen-result.has-winning-hand h2{font-size:16px}}@media(max-width:600px){.seventeen-table,.opponent-zone,.player-zone,.opponent-zone .tile-grid.is-hand,.player-zone .tile-grid.is-hand,.river,.reserve-area,.tile-grid.is-reserve{box-sizing:border-box;min-width:0;max-width:100%}.opponent-zone .tile-grid.is-hand,.player-zone .tile-grid.is-hand{width:100%;min-width:0;max-width:100%;min-height:0;align-items:center;flex-wrap:nowrap}.opponent-zone .tile-grid.is-hand .mahjong-tile,.player-zone .tile-grid.is-hand .mahjong-tile{box-sizing:border-box;flex:1 1 0;align-self:center;width:auto;min-width:0;max-width:42px;min-height:0;height:auto;aspect-ratio:3 / 4}.river{width:100%;max-width:285px;grid-template-columns:repeat(9,minmax(0,1fr))}.river .mahjong-tile{box-sizing:border-box;align-self:start;width:100%;height:auto;aspect-ratio:3 / 4}}.seventeen-table #opponentRemaining,.seventeen-table #playerRemaining{display:none!important}@media(max-width:600px){.wait-tiles:has(>.wait-tile:nth-child(2)):not(:has(>.wait-tile:nth-child(3))){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.wait-tiles:has(>.wait-tile:nth-child(2)):not(:has(>.wait-tile:nth-child(3))) .wait-tile{min-width:0;gap:5px}.wait-tiles:has(>.wait-tile:nth-child(2)):not(:has(>.wait-tile:nth-child(3))) .wait-tile-face{flex:0 0 32px;width:32px}.wait-tiles:has(>.wait-tile:nth-child(2)):not(:has(>.wait-tile:nth-child(3))) .wait-tile-face .mahjong-tile{width:32px;height:auto;aspect-ratio:42 / 58}.wait-tiles:has(>.wait-tile:nth-child(2)):not(:has(>.wait-tile:nth-child(3))) .wait-tile>div:last-child{flex:1 1 0;min-width:0}.wait-tiles:has(>.wait-tile:nth-child(2)):not(:has(>.wait-tile:nth-child(3))) .wait-tile small{max-width:none;overflow-wrap:anywhere;line-height:1.3}.selected-hand .tile-grid.is-hand{min-height:0;align-items:flex-start}.selected-hand .tile-grid.is-hand .mahjong-tile{align-self:flex-start;height:auto;aspect-ratio:42 / 58}}@media(max-width:600px){.seventeen-statusbar{display:grid;box-sizing:border-box;grid-template-columns:minmax(0,1fr);grid-template-rows:16px 36px;gap:2px;height:66px;min-height:66px;padding:6px 10px;align-items:center;justify-content:stretch}.seventeen-statusbar>span:first-child{display:block;width:100%;min-width:0}.seventeen-statusbar>span:first-child strong{display:block;width:100%;height:16px;min-height:16px;max-height:16px;margin-top:0;overflow:hidden;font-size:14px;line-height:16px;white-space:nowrap;text-overflow:ellipsis}.seventeen-statusbar .round-info{display:flex;width:100%;min-width:0;height:36px;flex:0 0 auto;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:3px}.seventeen-statusbar .round-info>*{flex:0 0 auto;white-space:nowrap}.seventeen-statusbar .round-info>.round-tile-info{flex-shrink:0}}.seventeen-mobile-actions{display:contents}.seventeen-mobile-actions>#newSeventeenGame{margin-left:auto;padding:10px 15px;border:1px solid #fff;border-radius:7px;background:#fff;color:var(--mj-green);cursor:pointer;font-size:14px;font-weight:900}.seventeen-mobile-actions>button:disabled{opacity:.55;cursor:default}@media(max-width:620px){.seventeen-page .builder-actions{gap:4px!important;margin-block:4px!important;padding:5px!important}.seventeen-page .builder-actions button{min-width:0!important;min-height:30px!important;margin:0!important;padding:4px 6px!important;border-radius:5px!important;font-size:14px!important;line-height:1.1!important}}@media(max-width:620px){body.seventeen-page .seventeen-settings{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;align-items:end!important;gap:5px!important;padding:7px!important}body.seventeen-page .seventeen-settings>label,body.seventeen-page .seventeen-settings>.side-assignment{grid-column:span 2!important;min-width:0!important;width:100%;gap:2px;font-size:14px;line-height:1.2}body.seventeen-page .seventeen-settings>label{display:grid}body.seventeen-page .seventeen-settings select{box-sizing:border-box;width:100%!important;min-width:0!important;max-width:100%;min-height:32px;padding:4px 15px 4px 5px!important;font-size:14px!important}body.seventeen-page .seventeen-settings>.side-assignment{display:grid;align-content:start;align-self:end}body.seventeen-page .seventeen-settings .side-assignment>span{display:block;min-width:0;min-height:11px;white-space:nowrap}body.seventeen-page .seventeen-settings .side-assignment strong{box-sizing:border-box;display:grid;width:100%;min-width:0;min-height:32px;padding:4px 5px;place-items:center;font-size:14px;line-height:1.2;white-space:nowrap}body.seventeen-page .seventeen-settings>.seventeen-mobile-actions{grid-column:1 / -1!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch;gap:5px!important;width:100%;min-width:0;margin:0}body.seventeen-page .seventeen-mobile-actions>button{box-sizing:border-box;display:block;width:100%!important;min-width:0!important;min-height:32px;margin:0!important;padding:4px 5px!important;font-size:14px!important;white-space:nowrap!important}body.seventeen-page .seventeen-mobile-actions>#seventeenResign{border-color:#bb8b80;color:#8d2c20}}
