:root{--cream:#f6f1e5;--paper:#fffdf6;--ink:#193c38;--teal:#086b67;--soft:#dce9df;--line:#c5cbbd;--muted:#52685e;--red:#9d3f33;--display:"Malgun Gothic","Apple SD Gothic Neo",sans-serif;font-family:var(--display);color:var(--ink);background:var(--cream);font-size:16px;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background-image:radial-gradient(#193c380c .6px,transparent .6px);background-size:5px 5px}button,input,select,textarea{font:inherit}a,button,input,select,summary,textarea{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button{min-height:46px;border:1px solid var(--line);border-radius:6px;padding:12px 18px;background:var(--paper);color:var(--ink);font-weight:700;text-align:center;transition:background .15s}button:hover{background:#e7eddf}button:disabled{background:#e8e6df;color:#657065;cursor:not-allowed;border-style:dashed}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid #ce7943;outline-offset:4px}a{color:var(--teal)}p{line-height:1.8;margin:10px 0 18px}button,h1,h2,h3,p,small,span,strong,summary{word-break:keep-all;overflow-wrap:anywhere}h1,h2,h3{line-height:1.35;letter-spacing:-.055em;margin:0 0 20px}h1{font-size:clamp(32px, 4vw, 48px)}h2{font-size:27px}h3{font-size:20px}small{font-size:13px;line-height:1.65;color:var(--muted)}main{max-width:1120px;margin:0 auto;padding:38px 32px 56px}main:focus{outline:0}.site-header{max-width:1248px;min-height:94px;margin:auto;padding:22px 48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{color:var(--ink);font-weight:900;letter-spacing:.12em;font-size:16px;text-decoration:none}.brand span{display:block;font-size:11px;letter-spacing:.03em;font-weight:500;margin-top:4px}.text-button{display:inline-flex;align-items:center;background:0 0;border:0;font-size:14px;text-align:left;padding:10px 0;color:var(--teal);min-height:44px}.primary{background:var(--teal);border-color:var(--teal);color:#fff;box-shadow:0 3px 0 #034b48}.primary:hover{background:#075550}.secondary{background:0 0}.danger{color:var(--red);border-color:#c59589}.eyebrow{font-size:11px;letter-spacing:.17em;font-weight:800;color:var(--teal);display:block;margin-bottom:15px}.muted{color:var(--muted);font-size:14px;line-height:1.8}.paper{background:var(--paper);padding:28px;border:1px solid var(--line);border-radius:7px;box-shadow:0 3px 0 #193c3805}.cover-page{display:grid;grid-template-columns:1.15fr 0.85fr;gap:70px;align-items:center;min-height:690px;padding-top:58px;padding-bottom:70px}.cover-copy h1{font-size:clamp(60px, 6.8vw, 86px);line-height:1.18;font-weight:900;letter-spacing:-.075em;margin:22px 0 24px}.cover-copy h1 span{color:var(--teal)}.hook{font-size:23px;font-weight:700;letter-spacing:-.04em}.intro-copy{font-size:17px;line-height:1.95;color:var(--muted);margin:24px 0 30px}.cover-actions{display:flex;flex-wrap:wrap;gap:10px}.cover-actions .primary{font-size:17px;padding:17px 24px}.cover-actions p{flex-basis:100%;margin:5px 0 16px}.local-note{font-size:12px}.cover-ticket{position:relative;background:var(--soft);padding:27px 30px 38px;border:1px solid #779a8d;border-radius:14px;transform:rotate(3deg);box-shadow:10px 12px 0 #d5d5c84d;text-align:center}.ticket-top{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.14em;color:var(--teal);font-weight:700}.ticket-star{font-size:100px;line-height:1.3;margin:24px 0 10px;color:var(--teal)}.ticket-title{font-size:25px;line-height:1.6;font-weight:800}.ticket-divider{margin:34px -30px 24px;border-top:2px dashed #86a397}.ticket-facts{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.04em;font-weight:700}.cover-ticket p:not(.ticket-title){font-size:14px;line-height:1.9}.barcode{height:36px;background:repeating-linear-gradient(90deg,var(--ink) 0 2px,transparent 2px 5px,var(--ink) 5px 6px,transparent 6px 9px,var(--ink) 9px 13px,transparent 13px 16px);margin:25px 20px 0;opacity:.65}.stamp{position:absolute;top:42px;right:-23px;transform:rotate(-15deg);border:2px solid var(--red);padding:8px;color:var(--red);font-size:12px;font-weight:800;letter-spacing:.07em}.site-footer{max-width:1056px;margin:0 auto;padding:0 0 36px;font-size:12px;border-top:1px solid var(--line);color:var(--muted)}.site-footer>span{display:block;margin-top:25px;letter-spacing:.06em}.save-error,.save-status{font-size:12px}.save-error{color:var(--red)}summary{min-height:46px;padding:12px 0;font-weight:700;line-height:1.5}.rules-content{background:var(--paper);border:1px solid var(--line);padding:24px;font-size:14px;max-width:800px}.rules-content small{display:block}.rules-content h3{margin-top:28px}.intro-page{max-width:800px;text-align:center;min-height:650px;padding-top:65px}.intro-card{text-align:left;margin-top:32px;padding:38px}.intro-card h2{margin-top:36px;font-size:30px}.intro-card .primary{width:100%;margin-top:15px}.lead{font-size:19px}.metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px;margin:25px 0}.metric span{display:block;font-size:13px;color:var(--muted);margin-bottom:7px}.metric strong{display:block;font-size:22px;letter-spacing:-.04em}.month-strip{display:flex;justify-content:space-between;align-items:center;gap:22px}.month-strip h1{margin:0}.month-strip .eyebrow{margin-bottom:7px}.month-strip p{margin:8px 0 20px}.wallet{text-align:right;flex-shrink:0}.wallet>span{display:block;font-size:12px;color:var(--muted)}.wallet>strong{display:block;font-size:29px;letter-spacing:-.05em;margin-top:5px}.wallet .text-button{text-align:right}.status-strip{display:flex;gap:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;font-size:13px}.slot-count{margin-left:auto;color:var(--teal);font-weight:700}.tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-bottom:28px;overflow-x:auto}.tab{flex-shrink:0;border:0;border-radius:0;background:0 0;min-height:59px;padding:14px 0;font-size:14px;font-weight:500}.tab.active{color:var(--teal);border-bottom:3px solid var(--teal);font-weight:800}.diary-layout{display:grid;grid-template-columns:minmax(0,1fr) 252px;gap:25px}.main-diary{display:grid;gap:24px}.section-heading h2{margin-bottom:12px}.section-heading .eyebrow{font-size:10px}.story-panel{border-top:4px solid var(--teal)}.story-panel h3{margin-top:23px;margin-bottom:12px}.story-text{font-size:17px;line-height:1.95}.story-choices{display:flex;flex-direction:column;gap:9px}.choice-button{text-align:left;font-size:14px;line-height:1.6}.activity-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}.activity-link{display:block;text-align:left;padding:19px 17px;min-height:126px;border-color:#d6dbcd;background:0 0;font-weight:500}.activity-link strong{display:block;font-size:16px;margin:10px 0 4px}.activity-num{font-family:Georgia,serif;font-size:17px;color:var(--teal);font-style:italic}.activity-link small{font-size:12px}.side-note{background:#e9efdf}.side-note h2{line-height:1.5}.side-note button{width:100%;margin-bottom:10px}.side-note summary{font-size:13px}.margin-quote{font-size:23px;line-height:1.7;letter-spacing:-.06em;color:#7b8b74;margin:45px 20px;font-weight:700;transform:rotate(-5deg)}.month-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px dashed #859a8c;margin-top:30px;padding-top:28px}.month-footer p{margin:6px 0}.month-footer .primary{flex-shrink:0;padding:16px 23px}.ending-control{margin-top:24px;font-size:13px;color:var(--muted)}.result-note{padding:18px 24px;margin:0 0 25px;background:#e0eddd;border:1px solid #92ae94;border-radius:6px}.result-note p{font-size:14px;margin:8px 0 0}.activity-page>.text-button{margin-bottom:20px}.activity-page{max-width:820px;margin:auto}.field{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:700;margin:15px 0 20px}.field small{font-weight:400}.field input,.field select,.field textarea,textarea{border:1px solid #81968c;background:#fff;color:var(--ink);border-radius:5px;min-height:48px;padding:11px 12px;width:100%;min-width:0}.field input[aria-invalid=true]{border-color:var(--red)}.goods-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.goods-grid input{max-width:140px}.quote{padding:20px;background:#edf1e5;border:1px solid #bccbb9;margin:22px 0}.quote-head,.quote-line,.quote-total{display:flex;justify-content:space-between;gap:20px;align-items:baseline}.quote-head{font-size:13px;padding-bottom:15px;border-bottom:1px solid #b4c4af}.quote-head>span{font-size:11px;color:var(--muted)}.quote-line{font-size:14px;margin-top:13px}.quote-line strong{white-space:nowrap}.quote-total{margin-top:17px;border-top:1px dashed #afbea9;padding-top:16px;font-size:14px}.quote-total strong{font-size:24px;color:var(--teal)}.quote details{font-size:12px}.quote .muted{font-size:12px}.activity-form>.primary{width:100%;margin-bottom:10px}.app-error,.error{color:#852c24;background:#fae9de;border:1px solid #c7886e;padding:14px;font-size:14px}.app-error{max-width:1056px;margin:22px auto 0;line-height:1.7}.check-row{display:flex;align-items:center;gap:13px;min-height:48px;font-size:15px;padding:8px 0}.check-row input{width:21px;height:21px;accent-color:var(--teal);flex-shrink:0}.check-row small{display:block;margin-top:4px}.date-row{display:grid;grid-template-columns:1.25fr 1fr;gap:20px;border-bottom:1px solid var(--line);padding:5px 0}.date-row .field{margin:8px 0 15px}.record-card{padding:20px 0;border-bottom:1px solid var(--line)}.record-card h3{margin-bottom:8px}.record-card small{display:block}.record-card button{margin:5px 0}.warning{padding:20px;background:#faeee0;border:1px solid #c8a67f;margin-top:20px}.warning .check-row{font-size:14px}.ledger-row{display:flex;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid var(--line);font-size:15px}.ledger-row small{display:block;margin-top:4px}.ledger-row>div:last-child{text-align:right}.credit{color:var(--teal)}.history-row{padding:17px 0;border-bottom:1px solid var(--line)}.history-row time{font-size:12px;color:var(--muted)}.history-row p{margin:8px 0;font-size:15px}.collection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:25px 0}.collection-item{padding:20px 15px;border:1px solid var(--line);background:#f4f2e9;border-radius:5px}.collection-item span,.collection-item strong{display:block}.collection-item span{color:var(--teal);margin-top:10px;font-size:14px}.retrospective{max-width:860px}.retrospective>.paper{margin-bottom:25px}.summary-card{padding:45px}.summary-card h1{line-height:1.5}.summary-card h1 span{color:var(--teal)}.title-badges{display:flex;gap:7px;flex-wrap:wrap;margin:25px 0}.title-badges span{border:1px solid var(--teal);color:var(--teal);padding:9px 13px;border-radius:99px;font-size:13px;font-weight:700}.cut-reveal{border-top:2px dashed var(--line);border-bottom:2px dashed var(--line);padding:24px 0;margin-top:28px;display:flex;justify-content:space-between;gap:20px;font-size:14px;align-items:center}.cut-reveal strong{font-size:25px;color:var(--teal)}.button-row{display:flex;gap:10px;margin:25px 0}.button-row button{flex:1}textarea{resize:vertical;line-height:1.9;font-size:14px}.skip{position:absolute;top:-100px;background:var(--paper);padding:14px;z-index:10}.skip:focus{top:10px}.loading{min-height:70vh;display:grid;place-items:center}@media (max-width:800px){.site-header{padding:18px 24px}.cover-page{gap:35px;padding:45px 28px;min-height:auto}.cover-copy h1{font-size:60px}.cover-ticket{padding:24px 20px}.ticket-divider{margin-left:-20px;margin-right:-20px}.ticket-title{font-size:22px}.stamp{right:-10px}.diary-layout{grid-template-columns:minmax(0,1fr)}.diary-side{display:block}.margin-quote{display:none}.site-footer{margin:0 28px}.cover-ticket .ticket-star{font-size:80px}.cover-page .hook{font-size:19px}.tabs{gap:23px}.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){main{padding:28px 18px 40px}.site-header{min-height:78px;padding:16px 18px}.brand{font-size:13px}.brand span{font-size:10px}.site-header>.text-button{font-size:12px}.cover-page{display:block;padding-top:36px}.cover-copy h1{font-size:66px}.cover-copy .eyebrow{font-size:10px}.intro-copy{font-size:16px}.cover-actions{display:block}.cover-actions button{width:100%;margin-bottom:9px}.cover-ticket{margin:38px 18px 12px;padding:24px;transform:rotate(2deg)}.cover-ticket .ticket-star{font-size:80px;margin:15px 0}.ticket-title{font-size:23px}.ticket-divider{margin:25px -24px 20px}.stamp{right:-15px}.site-footer{margin:0 18px}.intro-page{padding-top:40px;min-height:auto}.intro-page>h1{font-size:28px}.intro-card{padding:23px;margin-top:25px}.intro-card h2{font-size:25px}.metrics{gap:20px 14px}.metric strong{font-size:20px}.month-strip{align-items:flex-start;gap:10px}.month-strip h1{font-size:27px}.month-strip p{font-size:11px;max-width:176px}.month-strip .eyebrow{font-size:9px}.wallet>strong{font-size:20px}.wallet>span{font-size:10px}.wallet .text-button{font-size:11px}.status-strip{font-size:11px;gap:13px;padding:13px 0}.tabs{gap:21px;margin-bottom:22px}.tab{font-size:13px;min-height:53px}.paper{padding:22px 18px}.section-heading h2{font-size:23px}.story-text{font-size:16px}.activity-grid{gap:8px}.activity-link{padding:14px 11px;min-height:124px}.activity-link strong{font-size:14px;line-height:1.6}.activity-link small{font-size:11px}.month-footer{display:block;margin-top:25px}.month-footer strong{font-size:14px}.month-footer p{font-size:12px}.month-footer .primary{width:100%;margin-top:15px}.goods-grid{gap:0 12px}.field{font-size:13px}.field small{font-size:11px}.goods-grid input{max-width:100%}.quote{padding:16px 13px}.quote-total{font-size:12px;gap:8px}.quote-total strong{font-size:21px}.quote-head{gap:10px;font-size:12px}.quote-line{font-size:12px;gap:8px}.date-row{grid-template-columns:1fr;gap:0;padding:10px 0}.date-row .field{margin:0 0 8px}.check-row{font-size:14px}.collection-item{padding:16px 12px;font-size:14px}.summary-card h1{font-size:30px}.summary-card .lead{font-size:16px}.cut-reveal{display:block}.cut-reveal strong{display:block;margin-top:10px}.button-row{flex-direction:column}.app-error{margin:16px 18px}.record-card p{font-size:14px}.intro-card .ticket-top{font-size:9px}.ledger-row{font-size:13px;gap:10px}.ledger-row small{font-size:11px}.retrospective>.primary{width:100%}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.quiet-story{padding:18px 24px}.quiet-story .eyebrow{display:none}.quiet-story h2{font-size:20px;margin:0 0 6px}.quiet-story .story-text{font-size:14px;margin:0;line-height:1.8}.result-note{padding:13px 20px}.result-note p{margin:4px 0 0}.intro-card>.secondary{width:100%;margin-top:12px}
