:root{--page:#f5f5ef;--paper:#fffefa;--ink:#253c36;--muted:#74817a;--green:#1a6551;--line:#e2e6dc;--gold:#dfbb72;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:var(--ink);background:var(--page);font-synthesis:none}*{box-sizing:border-box;touch-action:manipulation}html,body{width:100%;min-width:0;touch-action:manipulation}body{margin:0}dialog,.table-scroll,.selected-yaku{touch-action:manipulation}button,input{font:inherit}button,a,input,select,textarea,label,summary,[role="button"]{touch-action:manipulation}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #cf9d45;outline-offset:4px}.site-header{height:94px;max-width:1232px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:0 40px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:13px;align-items:center;font-size:25px;font-weight:750;letter-spacing:.1em}.brand-mark{display:grid;place-items:center;width:38px;height:45px;background:var(--green);border-radius:6px;color:#fff9df;font-family:serif;font-size:27px;box-shadow:0 3px 0 #9cae92}.brand small{display:block;font-size:8px;letter-spacing:.17em;font-weight:600;margin-top:3px}.quiet-button{border:0;background:transparent;color:var(--muted);font-size:12px;padding:10px}.quiet-button:hover{color:var(--green);background:#e8ede3;border-radius:6px}.quiet-button span{margin-left:7px}main{max-width:1232px;margin:auto;padding:0 40px}.intro{display:flex;align-items:center;justify-content:space-between;padding:42px 0 34px;gap:20px}.eyebrow{font-size:11px;color:var(--green);letter-spacing:.14em;margin:0 0 12px;font-weight:650}h1{font-size:29px;letter-spacing:.055em;font-weight:650;margin:0 0 12px}.intro>div>p:last-child{font-size:12px;color:var(--muted);margin:0;line-height:1.9}.local-badge{font-size:10px;white-space:nowrap;border:1px solid #dfe6d8;border-radius:30px;padding:9px 12px;color:#6d7d68;background:#f1f4e9}.local-badge i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#7c9863;margin-right:4px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 239px;gap:28px;align-items:start}#practice{min-width:0}.question-card,.answer-card,.explanation{background:var(--paper);border:1px solid var(--line);border-radius:12px;overflow:hidden}.question-top{display:flex;align-items:center;justify-content:space-between;padding:20px 25px}.question-heading{display:flex;align-items:center;gap:12px}.question-heading h2{font-size:14px;letter-spacing:.03em;margin:0}.question-number{color:var(--green);font-size:21px;letter-spacing:.02em;font-variant-numeric:tabular-nums;font-weight:650}.question-heading .section-kicker{font-size:9px}.section-kicker{display:block;font-size:9px;letter-spacing:.13em;color:var(--muted);font-weight:650}.shuffle{font-size:11px}.felt{margin:0 12px 12px;background:radial-gradient(ellipse at 30% 10%,#286a5a,#174d42);color:white;border-radius:8px;padding:24px 24px 29px;box-shadow:inset 0 0 50px #07382b26}.table-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.round{font-size:17px;letter-spacing:.08em;font-weight:650;margin-right:6px}.seat{font-size:11px;color:#d3e4db}.meta-chip{padding:4px 9px;background:#ffffff16;border:1px solid #ffffff13;border-radius:5px;font-size:11px;font-weight:600}.win-chip{color:#ead6a9}.table-counts{display:flex;gap:17px;color:#b8d1c4;font-size:10px;margin-top:12px}.table-counts strong{font-weight:550;color:#eee8d3}.table-divider{border:0;border-top:1px solid #ffffff19;margin:20px 0}.indicator-row{display:flex;gap:23px;flex-wrap:wrap;align-items:flex-start}.indicator-group .label{color:#b8d0c4;font-size:10px;display:block;margin-bottom:8px}.indicator-group .tiles{display:flex;gap:3px}.indicator-group img{width:28px;height:auto}.conditions{display:flex;gap:6px;flex-wrap:wrap;min-height:25px;align-items:center;margin:21px 0 12px}.condition{border:1px solid #dabc7370;color:#f5dfac;border-radius:4px;padding:4px 9px;font-size:10px;letter-spacing:.03em}.condition-neutral{font-size:10px;color:#a7c4b5}.hand-area{container-type:inline-size}.hand-line{display:flex;align-items:flex-end;gap:14px}.concealed{display:flex;gap:2px;flex-wrap:nowrap}.hand-line img{display:block;width:clamp(15px,6.35cqw,44px);height:auto;filter:drop-shadow(0 3px 2px #092b3060)}.winning{position:relative;border-radius:4px;outline:2px solid var(--gold);outline-offset:3px}.winning-label{font-size:9px;position:absolute;white-space:nowrap;top:-23px;left:50%;transform:translateX(-50%);color:#f2d28d}.hand-caption{font-size:9px;color:#a4c2b4;margin:13px 0 0;letter-spacing:.05em}.melds{display:flex;gap:17px;flex-wrap:wrap;margin-top:22px}.meld-tiles{display:flex;gap:2px}.meld img{width:29px;height:auto;display:block}.meld-label{display:block;font-size:9px;color:#bbd0c3;margin-top:5px}.answer-card{margin-top:17px;padding:24px 25px}.answer-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:19px}.answer-heading h2{font-size:14px;margin:0}.answer-heading p{font-size:10px;color:var(--muted);margin:0}.answer-row{display:flex;align-items:end;gap:12px}.answer-fields{display:flex;gap:14px;flex:1;min-width:0}.input-group{min-width:0;flex:1}.input-group label{font-size:10px;color:var(--muted);display:block;margin-bottom:7px}.input-wrap{position:relative}.input-wrap input{width:100%;border:1px solid #d9e0d4;background:#fff;border-radius:6px;padding:12px 32px 12px 13px;font-size:21px;font-variant-numeric:tabular-nums;color:var(--ink);height:52px;text-align:right}.input-wrap input::placeholder{color:#c1c8be;font-size:17px}.input-wrap input[readonly]{background:#f0f3ec;color:#637267}.unit{position:absolute;right:12px;top:18px;font-size:11px;color:var(--muted)}.primary-button{height:52px;padding:0 24px;background:var(--green);color:#fffdf4;border:1px solid var(--green);border-radius:6px;font-size:12px;font-weight:600;white-space:nowrap;transition:background .15s}.primary-button:hover{background:#0e493b}.primary-button:disabled{background:#a1b3a6;border-color:#a1b3a6}.input-help{font-size:10px;color:#889187;margin:13px 0 0;line-height:1.8}.input-error{color:#b3493f;font-size:12px;margin:12px 0 0}.input-error:empty{display:none}.guide{padding:24px 21px;background:#eeefe7;border:1px solid #e5e8dd;border-radius:10px}.guide h2{font-size:17px;margin:10px 0 25px;font-weight:650;letter-spacing:.05em}.guide ol{list-style:none;padding:0;margin:0}.guide li{display:flex;gap:13px;align-items:start;margin-bottom:23px}.guide li:last-child{margin-bottom:0}.guide li>span{font-size:11px;color:#91a28c;font-weight:650;border-bottom:1px solid #bdcbb5;padding:1px 0 5px}.guide strong{font-size:11px;font-weight:650}.guide p{font-size:10px;color:#7c8979;margin:6px 0 0;line-height:1.9}.small-note{margin-top:22px;padding:5px 17px 22px;border-bottom:1px solid var(--line);position:relative}.note-icon{color:#9a915d;display:block;font-size:22px;margin-bottom:8px}.small-note h3{font-size:12px;line-height:1.8;margin:0 0 10px;font-weight:550}.small-note p{font-size:10px;color:var(--muted);line-height:1.9;margin:0}.rule-summary{padding:18px 10px;display:flex;flex-wrap:wrap;gap:8px}.rule-summary span{font-size:9px;color:#87907d;border:1px solid #e0e4d7;border-radius:4px;padding:5px 7px}.explanation{margin-top:18px;padding:25px;animation:appear .2s ease-out}.result-banner{padding:15px 18px;border-radius:8px;display:flex;gap:13px;align-items:center;background:#edf4e9;color:#356045}.result-banner.incorrect{background:#fbf0e7;color:#985d39}.result-icon{font-size:22px;font-weight:600}.result-banner h2{margin:0;font-size:16px}.result-banner p{font-size:11px;margin:5px 0 0;line-height:1.7}.score-summary{text-align:center;padding:27px 0;border-bottom:1px solid var(--line)}.score-summary p{font-size:11px;color:var(--muted);margin:0 0 9px}.score-summary strong{display:block;color:var(--green);font-size:34px;font-weight:600;letter-spacing:.03em;font-variant-numeric:tabular-nums}.score-summary small{display:block;font-size:10px;color:var(--muted);margin-top:10px}.explain-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.explain-section{padding:25px 0 0;min-width:0}.explain-section h3{font-size:13px;margin:0 0 16px}.explain-section h3 span{color:#a0ad97;font-size:10px;margin-right:8px}.detail-list{margin:0}.detail-row{display:flex;gap:12px;justify-content:space-between;font-size:11px;line-height:1.8;padding:5px 0}.detail-row dt{color:#617264;overflow-wrap:anywhere}.detail-row dd{margin:0;white-space:nowrap;font-weight:550;font-variant-numeric:tabular-nums}.total-row{border-top:1px solid var(--line);margin-top:7px;padding-top:10px;font-weight:650}.explain-note{font-size:10px;color:var(--muted);line-height:1.85;margin:10px 0 0}.calculation{background:#f3f5ee;border-radius:7px;padding:15px 17px;font-size:11px;line-height:2;white-space:pre-line}.settlement{margin-top:18px;border-top:1px solid var(--line);padding-top:12px}.received dd{font-size:16px;color:var(--green)}.next-row{margin-top:24px;display:flex;align-items:center;justify-content:space-between;gap:10px}.problem-id{color:#929c91;font-size:9px;overflow-wrap:anywhere}.decomposition{margin-top:20px;border-top:1px solid var(--line);padding-top:14px}.decomposition summary{font-size:11px;color:var(--muted);cursor:pointer}.decomposition-groups{display:flex;gap:9px;flex-wrap:wrap;margin-top:12px}.decomposition-groups>span{display:flex;gap:1px}.decomposition-groups img{width:24px}.decomposition-groups .selected-tile{outline:2px solid #bf9d4b;outline-offset:1px;border-radius:3px}.loading{border:1px solid var(--line);padding:80px 30px;text-align:center;background:var(--paper);border-radius:12px;font-size:13px;color:var(--muted)}footer{max-width:1232px;margin:46px auto 0;padding:23px 40px 30px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:9px;color:#889180;letter-spacing:.04em}.footer-divider{margin:0 10px;color:#bec5b7}footer a:hover{text-decoration:underline}dialog{border:1px solid var(--line);border-radius:14px;padding:27px;max-width:560px;width:calc(100% - 32px);background:var(--paper);color:var(--ink);max-height:85vh}dialog::backdrop{background:#18372f80;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head h2{font-size:20px;margin:0}dialog p,dialog li{font-size:12px;line-height:1.9}dialog ul{padding-left:20px}dialog h3{font-size:14px;margin-top:23px}.muted{color:var(--muted)}.noscript{padding:30px;color:#9b3e36}@keyframes appear{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@media(min-width:1200px){.felt{padding:27px 29px 32px}.hand-line{gap:18px}}@media(max-width:950px){.workspace{grid-template-columns:minmax(0,1fr) 200px;gap:20px}.site-header,main{padding-left:25px;padding-right:25px}.felt{padding:22px 18px}.answer-row{flex-wrap:wrap}.answer-row>.primary-button{flex:1}.answer-fields{flex-basis:100%}.guide{padding:22px 17px}.local-badge{display:none}h1{font-size:25px}}@media(max-width:720px){.site-header{height:78px;padding:0 20px}main{padding:0 18px}.intro{padding:29px 0 25px}h1{font-size:23px;letter-spacing:.01em}.intro>div>p:last-child{font-size:11px}.eyebrow{font-size:10px;margin-bottom:10px}.workspace{display:block}.sidebar{display:none}.question-top{padding:16px 18px}.felt{margin:0 8px 8px;padding:20px 15px 26px}.answer-card{padding:20px}.answer-row{flex-wrap:nowrap}.answer-row>.primary-button{flex:0;padding:0 19px}.answer-fields{flex-basis:0}.hand-line{gap:12px}.answer-heading{align-items:start;flex-direction:column;gap:7px}.indicator-group img{width:26px}.indicator-row{gap:16px}.explanation{padding:20px}.score-summary strong{font-size:29px}footer{margin-top:32px;padding:20px 18px;font-size:8px}.brand{font-size:22px}.brand-mark{width:33px;height:39px;font-size:23px}}@media(max-width:420px){h1{font-size:21px}.intro>div>p:last-child{max-width:290px}.answer-row{flex-wrap:wrap}.answer-fields{flex-basis:100%}.answer-row>.primary-button{flex:1}.explain-grid{grid-template-columns:1fr;gap:0}.question-heading{gap:8px}.hand-line{gap:10px}.concealed{gap:1px}.felt{padding:20px 12px 24px}.table-meta{gap:6px}.round{font-size:16px}.seat{font-size:10px}.score-summary strong{font-size:26px}.next-row{align-items:stretch;flex-direction:column-reverse}.problem-id{text-align:center}.guide{display:none}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

@media(max-width:720px){.site-header{height:auto;min-height:78px;flex-wrap:wrap;gap:12px;padding-top:14px;padding-bottom:14px}.site-header .brand,.header-nav{min-width:0}.header-nav{flex-wrap:wrap}main{width:100%;min-width:0}}
