:root{--ink: #15362f;--ink-soft: #55706a;--felt: #103d32;--felt-deep: #082b24;--felt-light: #1c5748;--ceramic: #f5f2e9;--paper: #fbfaf6;--white: #fffdf8;--gold: #cba967;--gold-bright: #efd38b;--line: rgba(21, 54, 47, .16);--shadow: 0 18px 50px rgba(8, 43, 36, .13);--sans: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;--serif: "Shippori Mincho", "Hiragino Mincho ProN", serif;--mono: "DM Mono", ui-monospace, monospace}*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth;background:var(--ceramic)}body{margin:0;color:var(--ink);background:var(--ceramic);font-family:var(--sans);line-height:1.7;overflow-x:hidden}body::selection{color:var(--white);background:var(--felt)}a{color:inherit}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.section-wrap{width:min(1160px,calc(100% - 48px));margin-inline:auto}.site-header{width:min(1160px,calc(100% - 48px));min-height:84px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none}.brand-mark{width:36px;height:36px;display:grid;place-items:center;color:var(--gold-bright);background:var(--felt);border:1px solid var(--gold);font-family:var(--serif);font-size:18px;transform:rotate(-3deg)}.brand strong{display:block;font-family:var(--serif);font-size:16px;letter-spacing:.08em}.brand small{display:block;color:var(--ink-soft);font-size:10px;letter-spacing:.16em}.site-nav{display:flex;gap:28px;font-family:var(--mono);font-size:11px;letter-spacing:.06em}.site-nav a{min-height:44px;display:inline-flex;align-items:center;text-decoration:none;color:var(--ink-soft)}.site-nav a:hover{color:var(--felt)}.hero{min-height:560px;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.82fr);gap:50px;align-items:center;padding:78px 0 92px}.kicker,.eyebrow{margin:0 0 12px;color:var(--felt-light);font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.13em;text-transform:uppercase}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.25}h1{margin-bottom:24px;font-size:clamp(38px,5.3vw,72px);letter-spacing:-.04em}h1 em{color:var(--felt-light);font-style:normal;position:relative}h1 em:after{content:"";position:absolute;left:0;right:-3px;bottom:-4px;height:2px;background:var(--gold)}.hero-lead{max-width:550px;color:var(--ink-soft);font-size:16px}.hero-actions{display:flex;align-items:center;gap:22px;margin-top:30px}.button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:11px;border:1px solid transparent;border-radius:2px;padding:9px 18px;text-decoration:none;font-size:13px;font-weight:700;letter-spacing:.04em;transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease}.button:hover{transform:translateY(-2px)}.button--gold{color:var(--felt-deep);background:var(--gold-bright);border-color:var(--gold)}.button--gold:hover{background:#f6dda1}.button--primary{color:var(--white);background:var(--felt);border-color:var(--felt)}.button--primary:hover{background:var(--felt-light)}.button--quiet{color:var(--ink);background:transparent;border-color:var(--line)}.button--quiet:hover{color:var(--felt);border-color:var(--gold);background:#cba9671a}.button--danger{color:#9d4e48;background:transparent;border-color:#9d4e4840}.button--danger:hover{background:#f8e8e3}.button--full{width:100%}.text-link{color:var(--felt);font-size:13px;font-weight:700;text-underline-offset:5px}.hero-example{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:14px;margin-top:56px;padding:13px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-family:var(--mono);font-size:11px}.hero-example span{color:var(--ink-soft);letter-spacing:.1em}.hero-example b{color:var(--felt)}.hero-visual{min-height:410px;position:relative;isolation:isolate;overflow:hidden;display:grid;place-items:center;border-radius:50%;background:linear-gradient(140deg,#082b24f5,#103d32e0),url(/assets/mahjong-still-life.webp) center / cover;box-shadow:var(--shadow),inset 0 0 0 1px #efd38b4d}.hero-visual:before{content:"";position:absolute;inset:20px;border:1px solid rgba(239,211,139,.38);border-radius:50%}.table-ring{position:absolute;border:1px solid rgba(239,211,139,.3);border-radius:50%}.table-ring--outer{width:76%;height:76%;transform:rotate(17deg);border-style:dashed}.table-ring--inner{width:51%;height:51%}.tile{position:absolute;z-index:2;display:grid;place-items:center;width:66px;height:90px;color:var(--felt-deep);background:#f9f6ea;border:3px double var(--gold);border-radius:7px;box-shadow:7px 9px #041d1847;font-family:var(--serif);font-size:32px;writing-mode:vertical-rl}.tile--one{transform:translate(-72px,-20px) rotate(-11deg);color:#ae4e43}.tile--two{transform:translate(21px,-36px) rotate(8deg)}.tile--three{transform:translate(74px,44px) rotate(16deg);color:#ae4e43}.visual-caption{position:absolute;right:18%;bottom:16%;color:var(--gold-bright);font-family:var(--mono);font-size:18px;letter-spacing:.14em;line-height:1.4}.visual-caption small{color:#f5f2e9b3;font-family:var(--sans);font-size:10px;letter-spacing:.04em}.calculator-section{padding:94px 0 84px}.section-intro{max-width:560px;margin-bottom:34px}.section-intro--wide{max-width:700px}h2{margin-bottom:13px;font-size:clamp(30px,4vw,48px);letter-spacing:-.04em}.section-intro p:not(.kicker),.history-lead{color:var(--ink-soft)}.calculator-grid{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:24px;align-items:stretch}.score-form,.result-card{background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow)}.score-form{padding:30px}fieldset{margin:0 0 25px;padding:0;border:0}legend{margin-bottom:9px;font-family:var(--serif);font-size:15px;font-weight:600}.segmented-control{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.segmented-control label{position:relative;min-height:46px}.segmented-control input{position:absolute;opacity:0}.segmented-control span{height:100%;display:grid;place-items:center;border:1px solid var(--line);color:var(--ink-soft);font-size:14px}.segmented-control input:checked+span{color:var(--white);background:var(--felt);border-color:var(--felt)}.segmented-control input:focus-visible+span{outline:3px solid var(--gold);outline-offset:2px}.number-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:5px}.field-label{display:block;color:var(--ink);font-family:var(--serif);font-size:15px;font-weight:600}.field-label span{float:right;color:var(--ink-soft);font-family:var(--mono);font-size:10px;font-weight:400}.field-label input{width:100%;min-height:52px;display:block;margin-top:7px;padding:9px 12px;color:var(--ink);background:var(--ceramic);border:1px solid var(--line);border-radius:1px;font-family:var(--mono);font-size:18px}.field-label input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #cba96733;outline:0}.form-hint{min-height:48px;margin:17px 0 22px;color:var(--ink-soft);font-size:11px;line-height:1.6}.result-card{min-height:390px;position:relative;display:flex;flex-direction:column;padding:30px;background:var(--felt);color:var(--white);border-color:#efd38b59}.empty-result{flex:1;display:grid;place-content:center;text-align:center}.empty-seal{width:50px;height:50px;display:grid;place-items:center;margin:0 auto 19px;color:var(--gold-bright);border:1px solid var(--gold);border-radius:50%;font-family:var(--serif);font-size:20px}.empty-result h3{margin-bottom:7px;font-size:22px}.empty-result p{max-width:270px;margin:0 auto;color:#f5f2e9b3;font-size:13px}.result-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;border-bottom:1px solid rgba(239,211,139,.3);padding-bottom:20px}.result-head .eyebrow{color:var(--gold-bright)}.result-head h3{margin-bottom:0;color:var(--white);font-size:21px}.tier-badge{max-width:130px;padding:5px 9px;color:var(--felt-deep);background:var(--gold-bright);font-size:10px;font-weight:700;line-height:1.4;text-align:center}.score-total{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:22px 0 19px}.score-total span{color:#f5f2e9bf;font-size:12px}.score-total strong{color:var(--gold-bright);font-family:var(--mono);font-size:clamp(28px,4vw,42px);font-weight:500;letter-spacing:-.07em;white-space:nowrap}.payment-preview{padding:15px 16px;background:#031b164d;border-left:2px solid var(--gold)}.payment-preview h4{margin-bottom:5px;color:#f5f2e9a6;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase}.payment-row{display:flex;justify-content:space-between;gap:12px;padding:5px 0;font-size:13px}.payment-row strong{color:var(--gold-bright);font-family:var(--mono);font-weight:500}.calculation-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:17px 0 0}.calculation-meta div{min-width:0}.calculation-meta dt{color:#f5f2e994;font-size:10px}.calculation-meta dd{margin:1px 0 0;color:var(--white);font-family:var(--mono);font-size:12px}.result-note{margin:14px 0 0;color:var(--gold-bright);font-size:11px}.result-actions{display:flex;gap:9px;margin-top:auto;padding-top:22px}.result-actions .button{flex:1;color:var(--white);border-color:#f5f2e959;font-size:11px}.result-actions .button:hover{border-color:var(--gold)}.notice{margin-top:17px;padding:10px 12px;font-size:12px;line-height:1.55}.notice--error{color:#ffddd2;background:#a8413647;border-left:2px solid #f09d85}.notice--success{color:#e9f6dd;background:#5d964e47;border-left:2px solid #afdc96}.history-section{padding:72px 0 100px;border-top:1px solid var(--line)}.section-heading-row{display:flex;align-items:end;justify-content:space-between;gap:20px}.section-heading-row h2{margin-bottom:0}.heading-note{color:var(--ink-soft);font-family:var(--mono);font-size:10px}.history-lead{margin:14px 0 20px;font-size:13px}.history-box{min-height:100px;padding:17px 20px;background:#fffdf88c;border:1px dashed var(--line)}.history-empty{margin:0;color:var(--ink-soft);font-size:13px}.history-list{display:grid;gap:8px;padding:0;margin:0;list-style:none}.history-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid var(--line)}.history-item:last-child{border-bottom:0}.history-item strong,.history-item span{display:block}.history-item strong{font-family:var(--serif);font-size:14px}.history-item span{color:var(--ink-soft);font-family:var(--mono);font-size:11px}.history-actions{display:flex;gap:7px;flex-shrink:0}.history-actions .button{min-height:44px;padding:6px 11px;font-size:11px}.practice-section{padding:0 0 110px}.question-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.question-card{display:grid;grid-template-columns:46px minmax(0,1fr);min-width:0;background:var(--white);border:1px solid var(--line)}.question-number{display:flex;align-items:start;justify-content:center;padding-top:21px;color:var(--gold);background:var(--felt);font-family:var(--mono);font-size:12px}.question-body{min-width:0;padding:18px 20px 20px}.question-body h3{margin-bottom:6px;font-size:17px}.question-body p{min-height:49px;margin-bottom:13px;color:var(--ink-soft);font-size:12px;line-height:1.6}.option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.option-button{min-height:44px;padding:6px 8px;color:var(--ink);background:var(--ceramic);border:1px solid var(--line);font-size:12px;text-align:left}.option-button:hover,.option-button.is-selected{color:var(--felt);border-color:var(--gold);background:#f9efd2}.option-button.is-correct{color:var(--felt-deep);background:#dcebd2;border-color:#75a36b}.option-button.is-wrong{color:#93453d;background:#f8e3dc;border-color:#d68d7b}.answer{margin-top:13px;padding:11px 12px;border-left:2px solid var(--gold);background:#f6f1e4;font-size:11px;line-height:1.6}.answer strong,.answer span{display:block}.answer strong{margin-bottom:2px}.answer span{color:var(--felt-light);font-family:var(--mono);font-size:10px}.answer p{min-height:0;margin:5px 0 0;color:var(--ink-soft);font-size:11px}.answer--correct{border-left-color:#75a36b}.answer--wrong{border-left-color:#d68d7b}.guide-section{padding:60px 0 100px;border-top:1px solid var(--line)}.guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:30px}details{background:#fffdf899;border:1px solid var(--line)}summary{min-height:48px;display:flex;align-items:center;padding:10px 16px;cursor:pointer;font-family:var(--serif);font-size:15px;font-weight:600}details p{padding:0 16px 15px;margin:0;color:var(--ink-soft);font-size:12px}.site-footer{display:flex;justify-content:space-between;gap:20px;padding:24px 0 35px;color:var(--ink-soft);border-top:1px solid var(--line);font-family:var(--mono);font-size:10px;letter-spacing:.04em}@media(max-width:860px){.hero{grid-template-columns:1fr;gap:26px;padding-top:54px}.hero-visual{width:min(100%,470px);min-height:350px;margin:0 auto}.calculator-grid{grid-template-columns:1fr}.score-form{display:grid;grid-template-columns:repeat(2,1fr);column-gap:22px}.score-form fieldset{margin-bottom:16px}.score-form .number-fields,.score-form .form-hint,.score-form .button{grid-column:1 / -1}.score-form .form-hint{min-height:0}}@media(max-width:620px){.section-wrap,.site-header{width:min(100% - 30px,520px)}.site-header{min-height:72px}.site-nav{gap:13px;font-size:10px}.brand small{display:none}.hero{min-height:0;padding:46px 0 66px}h1{font-size:clamp(37px,12vw,55px)}.hero-lead{font-size:14px}.hero-example{margin-top:35px;gap:8px}.hero-visual{min-height:285px}.tile{width:52px;height:72px;font-size:25px}.tile--one{transform:translate(-57px,-13px) rotate(-11deg)}.tile--two{transform:translate(15px,-25px) rotate(8deg)}.tile--three{transform:translate(59px,36px) rotate(16deg)}.visual-caption{right:12%;bottom:12%;font-size:14px}.calculator-section{padding:65px 0}.score-form{display:block;padding:23px 18px}.score-form fieldset{margin-bottom:21px}.result-card{padding:23px 18px}.history-section{padding:57px 0 72px}.section-heading-row{align-items:start;flex-direction:column;gap:8px}.question-list,.guide-grid{grid-template-columns:1fr}.practice-section{padding-bottom:76px}.guide-section{padding:47px 0 70px}.site-footer{flex-direction:column;gap:5px}}@media(max-width:350px){.section-wrap,.site-header{width:calc(100% - 22px)}.site-nav{gap:8px;font-size:9px}.brand strong{font-size:14px}.hero-actions{align-items:stretch;flex-direction:column;gap:14px}.hero-actions .button{width:100%}.hero-example{align-items:flex-start;flex-direction:column}.number-fields{gap:7px}.field-label input{padding-inline:8px}.score-total{align-items:start;flex-direction:column;gap:4px}.score-total strong{font-size:33px}.calculation-meta{gap:6px}.calculation-meta dd{font-size:10px}.history-item{align-items:start;flex-direction:column}.history-actions{width:100%}.history-actions .button{flex:1}.question-card{grid-template-columns:35px minmax(0,1fr)}.question-body{padding-inline:13px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media print{:root{--ceramic: #fff;--white: #fff;--felt: #fff;--ink: #000;--ink-soft: #333}body{background:#fff}.site-header,.hero,.score-form,.history-section,.practice-section,.guide-section,.site-footer,.result-actions,.notice{display:none!important}.calculator-section{padding:0}.section-wrap{width:100%}.calculator-grid{display:block}.result-card{min-height:0;color:#000;border:1px solid #999;box-shadow:none}.result-head h3,.score-total strong,.payment-row strong,.calculation-meta dd{color:#000}.payment-preview{background:#f2f2f2}.payment-preview h4,.score-total span,.calculation-meta dt,.result-note{color:#333}}
