:root{font-family:Noto Sans JP,-apple-system,BlinkMacSystemFont,sans-serif;color:#293d35;background:#f7f8f5;font-synthesis:none;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #dc9c43;outline-offset:3px}button{border:0;background:none}a{color:inherit}.app{max-width:1500px;margin:auto;display:flex;min-height:100vh}aside{width:238px;flex-shrink:0;background:#fff;border-right:1px solid #e8ece5;padding:40px 25px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:23px;font-weight:800;letter-spacing:2px}.brand-icon{background:#176b56;color:#fff;border-radius:12px;padding:10px;display:flex}.brand small{display:block;font-size:8px;letter-spacing:2px;color:#8a9990;margin-top:4px}.side-label{font-size:10px;letter-spacing:2px;color:#9ba89f;margin:58px 13px 17px}nav button{display:flex;align-items:center;gap:13px;min-height:50px;width:100%;text-align:left;border-radius:9px;margin-bottom:9px;font-weight:500;font-size:13px;padding:0 14px;color:#7a8880}nav button.active{background:#eaf3ed;color:#176b56;font-weight:700}nav button svg:last-child:not(:first-child){margin-left:auto}.side-bottom{margin-top:auto;font-size:10px;color:#8b978e}.status-dot{display:inline-block;width:6px;height:6px;background:#79a68a;border-radius:50%;margin-right:7px}.side-bottom button{display:flex;align-items:center;gap:7px;font-size:10px;border:1px solid #e1e8df;border-radius:8px;padding:12px 7px;margin-top:18px;width:100%}main{padding:0 48px;width:calc(100% - 238px);max-width:1230px}header{display:flex;align-items:center;justify-content:space-between;height:88px}.breadcrumb{font-size:10px;letter-spacing:2px;color:#8d9b91}.breadcrumb span{margin:0 14px;color:#c5cec6}.icon-button{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid #e6ebe3}.hero{position:relative;background:#eaf0e3;border-radius:18px;overflow:hidden;height:332px}.hero-content{position:relative;z-index:2;padding:33px 36px}.eyebrow{font-size:9px;font-weight:700;letter-spacing:2px;color:#51745b;display:flex;align-items:center;gap:7px}.eyebrow>span{width:6px;height:6px;border-radius:50%;background:#b88f40}h1{font-size:38px;line-height:1.55;letter-spacing:4px;margin:14px 0 10px;font-weight:800}.hero p{font-size:11px;line-height:2;color:#78836b;margin:0 0 18px}.trip-date{background:#fff9;display:flex;gap:10px;align-items:center;border-radius:6px;padding:10px 13px;font-size:10px;color:#456451}.hero-stamp{position:absolute;right:22px;top:23px;color:#6b8464;font-size:18px;text-align:center;transform:rotate(8deg);border:1px solid #a9b99d;border-radius:50%;width:90px;height:90px;padding-top:19px;z-index:1}.hero-stamp small{font-size:6px;letter-spacing:1px}.city-art{position:absolute;width:47%;height:100%;right:0;bottom:0;overflow:hidden;background:linear-gradient(0deg,#bfd0b3,transparent 52%)}.sun{width:125px;height:125px;border-radius:50%;background:#e7c67c;position:absolute;top:50px;left:20%}.cloud{position:absolute;background:#f4f5e8;width:95px;height:14px;border-radius:100%;top:60px;left:8%}.c2{top:130px;left:58%;width:60px}.temple{position:absolute;bottom:48px;left:21%;width:180px;height:210px}.spire{position:absolute;bottom:120px;left:84px;width:12px;height:95px;background:#b78f4f;clip-path:polygon(50% 0,100% 100%,0 100%)}.roof{position:absolute;height:47px;left:0;width:180px;clip-path:polygon(50% 0,83% 64%,100% 89%,50% 80%,0 89%,17% 64%);background:#af704c}.roof1{bottom:100px;transform:scale(.6)}.roof2{bottom:76px;transform:scale(.8);background:#b9814e}.roof3{bottom:48px;background:#9b6245}.temple-body{position:absolute;bottom:0;left:35px;background:#eadcb7;width:110px;height:70px;display:flex;justify-content:space-evenly;align-items:end;border-bottom:8px solid #b89c68}.temple-body i{width:17px;height:42px;background:#678872;border-radius:15px 15px 0 0;border:4px solid #c5ad76}.tower{position:absolute;bottom:50px;left:8%;height:150px;width:38px;background:#b4bea0;clip-path:polygon(50% 0,60% 30%,80% 60%,80% 80%,100% 100%,0 100%,20% 80%,20% 60%,40% 30%)}.t2{left:77%;height:180px;background:#9db197;width:45px}.river{position:absolute;height:52px;bottom:0;width:100%;background:repeating-linear-gradient(0deg,#a3c3b2 0px 8px,#bbd1bd 9px 10px);border-radius:60% 0 0}.boat{position:absolute;bottom:18px;left:57%;color:#795b40;font-size:43px;transform:scaleY(.5)}.art-caption{position:absolute;bottom:12px;left:15px;font-size:7px;letter-spacing:2px;color:#4f7763}.overview{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:25px 0 36px}.overview>button{display:flex;align-items:center;text-align:left;gap:12px;border:1px solid #e6eae2;background:#fff;border-radius:11px;padding:18px 14px}.overview>button>svg{margin-left:auto;color:#b0b9ae}.stat-icon{background:#edf5ee;color:#5e8c6d;width:39px;height:39px;display:grid;place-items:center;border-radius:10px}.stat-icon svg{width:19px}.stat-icon.orange{background:#faf0e4;color:#c39a5e}.stat-icon.blue{background:#edf2f6;color:#7097ab}.stat-icon.purple{background:#f2edf6;color:#9c87ae}.overview small{font-size:9px;color:#8b958d;display:block;margin-bottom:4px}.overview strong{font-size:21px;font-weight:600;white-space:nowrap}.overview em{font-style:normal;font-size:9px;color:#8d998e;margin-left:6px}.workspace{background:#fff;border:1px solid #e6eae2;border-radius:14px;padding:27px 28px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.muted{color:#9ba68f;font-size:8px}h2{font-size:19px;margin:8px 0 0;letter-spacing:1px}h2>span{display:block;font-size:10px;letter-spacing:0;color:#97a08f;font-weight:400;margin-top:7px}.primary{background:#176b56;color:#fff;display:flex;justify-content:center;align-items:center;gap:8px;border-radius:7px;padding:12px 16px;font-size:11px;min-height:44px}.day-tabs{display:flex;gap:10px;border-bottom:1px solid #edf0e8;margin:27px 0 24px;overflow-x:auto;padding-bottom:16px}.day-tabs button{min-width:90px;border-radius:8px;padding:10px 20px;font-size:11px;white-space:nowrap;color:#899581}.day-tabs small{display:block;font-size:8px;letter-spacing:1px;margin-bottom:5px}.day-tabs .selected{background:#176b56;color:#fff}.item{display:flex;margin-bottom:13px;gap:18px}.time{font-size:11px;min-width:45px;padding-top:22px;position:relative;color:#82907e}.time span{position:absolute;top:25px;right:-17px;background:#c5d8c6;border:3px solid white;box-shadow:0 0 0 1px #c5d8c6;width:10px;height:10px;border-radius:50%;z-index:1}.item-card{display:flex;align-items:center;gap:14px;background:#fbfcf9;border:1px solid #edf0e7;border-radius:10px;padding:17px;flex:1;min-width:0}.timeline .item-card{margin-left:8px}.item-text{flex:1;min-width:0}.item-text h3{font-size:12px;letter-spacing:.4px;margin:0;font-weight:600;overflow-wrap:anywhere}.item-text p{font-size:10px;color:#99a18f;margin:6px 0 0;overflow-wrap:anywhere}.item-text a{font-size:10px;color:#176b56;display:inline-flex;align-items:center;margin-top:8px}.check{width:30px;height:30px;border-radius:7px;background:#edf1e7;flex-shrink:0;display:grid;place-items:center;color:#92a180}.check span{font-size:10px}.check.checked{background:#176b56;color:#fff}.done h3{text-decoration:line-through;color:#8d9a8c}.delete{color:#aab3a3;min-width:44px;min-height:44px;display:grid;place-items:center}.delete:hover{color:#b34f3c;background:#faeee8;border-radius:7px}.travel-note{display:flex;align-items:center;gap:12px;border-top:1px dashed #e7ebdf;padding-top:16px;margin-top:23px;color:#b19b68}.travel-note p{font-size:9px;color:#98a08c;line-height:1.9;margin:0}.travel-note strong{color:#7a896e;margin-right:10px}footer{display:flex;align-items:center;gap:7px;color:#aab3a1;font-size:8px;letter-spacing:1px;padding:25px 0 35px}footer span{margin-left:auto;font-size:9px;letter-spacing:0}.mobile-nav{display:none}.budget{background:#eff5ee;padding:22px;border-radius:10px;margin:25px 0;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:15px}.budget span{font-size:11px;display:block}.budget strong{display:block;font-size:28px;margin-top:8px}.budget strong small{font-size:12px}.budget button{font-size:11px;text-decoration:underline;min-height:44px}.budget>small{font-size:10px;color:#7b8e80}.over{color:#b34f3c}progress{display:block;width:100%;height:7px;border:0;border-radius:5px;overflow:hidden;accent-color:#176b56}progress::-webkit-progress-bar{background:#dce7dc}progress::-webkit-progress-value{background:#176b56;border-radius:5px}.packing-progress{margin:25px 0;font-size:12px;color:#72866f}.packing-progress progress{margin-top:13px}.amount{font-size:18px;white-space:nowrap}.amount small{font-size:10px;color:#8e9b8c}.empty{padding:50px 10px;text-align:center;color:#94a58b}.empty svg{color:#95b49a}.empty h3{font-size:14px}.empty p{font-size:11px}.overlay{position:fixed;inset:0;background:#183b2c66;z-index:10;display:flex;align-items:center;justify-content:center;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{background:#fff;border-radius:18px;padding:34px;width:460px;max-height:90dvh;overflow:auto;position:relative;box-shadow:0 20px 70px #193a2a22}.close{position:absolute;right:12px;top:12px;width:38px;height:38px}.modal h2{font-size:20px;margin:14px 25px 26px 0}.modal p{font-size:13px;line-height:2;color:#718471}.modal label{display:block;font-size:12px;font-weight:600;margin:18px 0}.modal input,.modal textarea,.modal select{display:block;width:100%;min-height:46px;border:1px solid #dce4d8;background:#fafbf8;border-radius:7px;padding:11px;margin-top:8px;font-size:16px;color:#304d3b}.modal textarea{min-height:90px;resize:vertical}.form-row{display:flex;gap:15px}.form-row label{width:50%}.submit{width:100%;margin-top:24px}.modal .hint{font-size:11px;color:#8d9988}.modal-icon{padding:16px;background:#eaf3ed;border-radius:15px;display:inline-flex;color:#176b56}.error{color:#ad4533;background:#fff0e8;padding:15px;border-radius:8px}@media(min-width:1400px){main{padding:0 65px}.hero{height:360px}.hero-content{padding:38px 40px}h1{font-size:42px}}@media(max-width:1100px){aside{width:200px;padding:30px 15px}main{width:calc(100% - 200px);padding:0 28px}.overview{gap:8px}.overview>button{padding:14px 9px;gap:7px}.stat-icon{width:29px;height:34px}.overview>button>svg{display:none}.overview strong{font-size:18px}.hero-content{padding-left:26px}h1{font-size:33px}.city-art{width:46%}.temple{left:5%}.hero-stamp{width:70px;height:70px;font-size:14px;padding-top:12px;right:10px}.hero-stamp small{font-size:5px}}@media(max-width:760px){aside{display:none}main{width:100%;padding:0 20px}header{height:65px}.hero{height:335px}.hero-content{padding:27px 23px}h1{font-size:32px;letter-spacing:3px;margin-top:17px}.hero p{font-size:10px;max-width:210px}.city-art{width:45%;opacity:.8}.temple{left:-14%;transform:scale(.75);transform-origin:bottom center;bottom:42px}.sun{width:80px;height:80px;left:15%;top:120px}.hero-stamp{top:22px;right:17px}.tower{height:120px;left:10%}.t2{left:80%;height:145px}.cloud{top:160px}.c2{top:210px}.art-caption{font-size:5px;letter-spacing:0}.overview{grid-template-columns:repeat(2,1fr);margin:18px 0 23px;gap:10px}.overview>button{gap:13px;padding:15px}.stat-icon{width:37px;height:37px}.overview strong{font-size:22px}.overview>button>svg{display:block}.overview small{font-size:10px}.workspace{padding:21px 15px;border-radius:13px}.section-heading{align-items:start}.section-heading h2{font-size:18px}.section-heading h2 span{font-size:9px;line-height:1.8}.section-heading .primary{padding:10px;font-size:10px;gap:4px;margin-top:5px}.muted{font-size:7px;letter-spacing:1.4px}.day-tabs{margin-top:22px;gap:7px}.day-tabs button{min-width:77px;padding:10px 15px}.time{min-width:34px;font-size:10px}.item{gap:12px}.time span{right:-13px}.item-card{padding:10px;gap:9px}.item-text h3{font-size:11px;line-height:1.7}.item-text p{font-size:9px;line-height:1.8}.check{width:26px;height:29px}.timeline .check{display:none}.delete{min-width:36px;min-height:44px}.travel-note{align-items:start}.travel-note strong{display:block}.travel-note p{font-size:9px}footer{padding-bottom:110px;flex-wrap:wrap;font-size:7px}footer span{font-size:8px}.mobile-nav{position:fixed;bottom:0;left:0;width:100%;display:flex;background:#fffffff5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid #e5eadd;padding:8px 10px max(8px,env(safe-area-inset-bottom));z-index:5}.mobile-nav button{display:flex;flex-direction:column;justify-content:center;gap:6px;padding:7px 0;margin:0;min-height:52px;font-size:9px;border-radius:8px}.mobile-nav button.active{background:transparent;color:#176b56}.mobile-nav button.active:before{content:"";height:3px;width:18px;position:absolute;top:0;background:#176b56;border-radius:5px}.mobile-nav button svg:last-child:not(:first-child){margin:0}.modal{padding:26px 23px}.overlay{padding:14px}.amount{font-size:15px}.budget{padding:18px}.brand{font-size:20px}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s,color .15s}.item-card{animation:appear .2s ease-out}@keyframes appear{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}}.place-groups{margin-top:24px}.place-group+.place-group{margin-top:28px}.category-heading{display:flex;align-items:center;gap:12px;font-size:13px;color:#51745b;margin:0 0 14px}.category-heading span{font-size:10px;font-weight:400;color:#8b978e}.visit-status{display:inline-block;font-size:10px;border-radius:5px;background:#edf1e7;color:#51745b;padding:4px 8px;margin-top:8px}.visit-status.visited{background:#e1eee4;color:#176b56}.place-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px 16px;margin-top:4px}.place-actions a,.place-actions button{display:inline-flex;align-items:center;gap:5px;min-height:44px;margin:0;font-size:11px;color:#176b56}.place-actions button{padding:0 8px;border-radius:6px;background:#edf3eb}.place-groups .check{width:44px;height:44px}.place-groups .delete{min-width:44px}.place-groups .done h3{text-decoration:none}.place-groups .item-text h3{font-size:12px}.place-groups .item-card{align-items:flex-start}.place-groups .check,.place-groups .delete{margin-top:2px}@media(max-width:760px){.place-groups .item-card{gap:8px;padding:12px 8px}.place-groups .item-text h3{font-size:12px}.place-groups .check{width:36px;min-height:44px}.place-actions{gap:5px 10px}.place-actions a,.place-actions button{font-size:10px}.category-heading{font-size:12px}}.check{min-width:44px;min-height:44px;position:relative;z-index:1}.flight-section{margin:0 0 30px}.flight-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.flight-heading h2{font-size:18px}.flight-heading>span{font-size:10px;color:#7b8e80;text-align:right;line-height:1.9}.flight-heading b{display:block;font-weight:500}.flight-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ticket{background:#fff;border:1px solid #e1e8df;border-radius:14px;overflow:hidden;position:relative}.ticket-top{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:16px 20px;background:#edf3eb;color:#176b56;font-size:11px}.ticket-top>span:first-child{display:flex;align-items:center;gap:7px}.ticket-top strong{letter-spacing:1px}.ticket-direction{font-size:10px;white-space:nowrap}.ticket-route{display:flex;align-items:center;justify-content:space-between;padding:22px 20px;gap:8px}.ticket-route>div:not(.ticket-path){display:flex;flex-direction:column;gap:6px;min-width:0}.ticket-route strong{font-size:29px;letter-spacing:2px;font-weight:600}.ticket-route span{font-size:9px;color:#81937e}.ticket-route time{font-size:25px;letter-spacing:1px;margin-top:5px;font-weight:600}.ticket-route small{font-size:9px;color:#879682}.ticket-arrival{text-align:right}.ticket-path{display:flex;align-items:center;gap:6px;color:#8ca28a;flex:1;max-width:80px}.ticket-path span{flex:1;border-top:1px dashed #b8cbb4}.ticket-path svg{transform:rotate(45deg);flex-shrink:0}.ticket-stub{display:flex;justify-content:space-between;align-items:center;border-top:1px dashed #d9e3d5;padding:14px 20px;position:relative;font-size:10px;gap:10px}.ticket-stub:before,.ticket-stub:after{content:"";position:absolute;width:16px;height:16px;background:#f7f8f5;border:1px solid #e1e8df;border-radius:50%;top:-9px}.ticket-stub:before{left:-9px}.ticket-stub:after{right:-9px}.ticket-stub small{display:block;color:#8d9b86;font-size:8px;margin-top:4px}.ticket-seat{text-align:right;flex-shrink:0}.ticket-seat strong{font-size:19px;letter-spacing:1px;color:#176b56}.ticket-seat small{letter-spacing:1px;margin:0 0 3px}.flight-note{color:#85947e;font-size:9px;line-height:1.8;margin:10px 0 0}.item-text p{white-space:pre-line}@media(max-width:1000px){.flight-cards{grid-template-columns:1fr}.ticket-route{padding:20px 24px}.ticket-path{max-width:110px}.ticket-route span{font-size:11px}}@media(max-width:760px){.flight-heading h2{font-size:16px}.flight-heading>span{font-size:9px}.flight-cards{gap:14px}.ticket-route{padding:20px 18px}.ticket-route span{font-size:10px}.ticket-top,.ticket-stub{padding-left:18px;padding-right:18px}.ticket-route strong{font-size:29px}.ticket-route time{font-size:26px}.ticket-path{max-width:65px}.flight-note{font-size:9px}.flight-heading{margin-bottom:14px}.flight-section{margin-bottom:25px}}.group-budget{margin-top:25px}.group-budget section{margin-bottom:30px}.budget-subheading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:15px}.budget-subheading h3{display:flex;align-items:center;gap:8px;margin:0;font-size:14px}.budget-subheading>span{font-size:10px;color:#85947e}.group-budget .hint{font-size:11px;color:#85947e;line-height:1.9}.members-panel{padding:18px;background:#f4f6ef;border:1px solid #e5eadf;border-radius:12px}.member-chips{display:flex;flex-wrap:wrap;gap:8px}.member-chip{display:flex;align-items:center;border:1px solid #dce6d7;background:#fff;border-radius:8px;padding-left:12px;font-size:12px;max-width:100%;overflow-wrap:anywhere}.member-chip button{min-width:36px;min-height:44px;color:#809778}.member-chip span{max-width:180px}.soft-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:7px;background:#eaf2e7;color:#176b56;padding:9px 12px;min-height:44px;font-size:11px}.member-form{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.member-form input{flex:1;min-width:120px;width:150px}.group-budget input:not([type=checkbox]),.group-budget select{width:100%;min-height:46px;border:1px solid #dce4d8;background:#fff;border-radius:7px;padding:11px;font-size:16px;color:#304d3b}.group-budget label{display:block;font-size:12px;font-weight:500;margin:15px 0}.group-budget label>input:not([type=checkbox]),.group-budget label>select{margin-top:8px}.group-budget .member-form input{width:120px}.payment-form{padding:20px;border:1px solid #dce6d7;border-radius:12px;background:#fafbf7;margin:0 0 28px}.payment-form .form-row{display:flex;gap:14px}.payment-form .form-row>label{width:50%;min-width:0}.payment-form fieldset{border:1px solid #dde6d6;border-radius:9px;margin:18px 0;padding:12px}.payment-form legend{font-size:12px;padding:0 6px}.selection-tools{display:flex;gap:8px;flex-wrap:wrap}.payment-form .participant{display:inline-flex;align-items:center;gap:8px;margin:8px 15px 0 0;min-height:44px;overflow-wrap:anywhere}.participant input{width:22px;height:22px;accent-color:#176b56;flex-shrink:0}.balance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.balance-card{padding:16px;border:1px solid #e4eadd;background:#fbfcf8;border-radius:10px;min-width:0}.balance-card h4{margin:0 0 14px;overflow-wrap:anywhere}.balance-card dl{margin:0;font-size:11px}.balance-card dl>div{display:flex;justify-content:space-between;gap:8px;margin:10px 0}.balance-card dt{color:#84947c}.balance-card dd{margin:0;text-align:right;white-space:nowrap}.balance-card dl>div:last-child{border-top:1px dashed #d9e5d3;padding-top:12px}.positive{color:#176b56;font-weight:700}.negative{color:#a7764c;font-weight:700}.transfer-card{border:1px solid #e1e8db;background:#f7f8f1;border-radius:10px;padding:15px;margin:12px 0;display:flex;align-items:center;justify-content:space-between;gap:12px}.transfer-card>div{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:12px;overflow-wrap:anywhere;min-width:0}.transfer-card strong{color:#176b56;font-size:16px}.transfer-card small{font-size:10px;color:#89967f}.transfer-card>button{flex-shrink:0}.transfer-card.completed{background:#fbfcf9}.settled-empty{display:flex;align-items:center;gap:8px;color:#648264;padding:18px;border:1px dashed #d4e1ce;border-radius:9px;font-size:12px}.payment-card{border:1px solid #e3e9dd;border-radius:10px;padding:18px;margin:12px 0;background:#fbfcf9}.payment-summary{display:flex;align-items:center;justify-content:space-between;gap:12px}.payment-summary h4{margin:0;font-size:13px;overflow-wrap:anywhere}.payment-summary>div{min-width:0}.payment-summary p{font-size:10px;line-height:1.8;color:#8c9882;margin:8px 0 0}.payment-summary strong{font-size:18px;white-space:nowrap}.payment-summary small{font-size:10px}.payment-actions{display:flex;gap:10px;margin-top:12px}.payment-card details{font-size:11px;color:#72866a;margin:12px 0}.payment-card summary{cursor:pointer;min-height:44px;display:flex;align-items:center}.payment-card details p{font-size:11px;overflow-wrap:anywhere}.local-notice{border-top:1px dashed #dbe5d4;padding-top:20px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@media(max-width:1000px){.balance-grid{grid-template-columns:1fr 1fr}}@media(max-width:760px){.members-panel,.payment-form,.payment-card{padding:15px}.balance-grid{grid-template-columns:1fr}.balance-card dl>div{font-size:12px}.transfer-card{align-items:stretch;flex-direction:column}.transfer-card>div{gap:9px}.transfer-card strong{margin-left:auto}.payment-summary{align-items:flex-start}.payment-summary strong{font-size:16px}.payment-form .form-row{gap:10px}.member-chip button{min-width:40px}.member-chip span{max-width:150px}.group-budget .hint{font-size:10px}.group-budget input[type=date]{min-width:0}.budget-subheading h3{font-size:13px}}.workspace{scroll-margin-top:16px}.hotel-section{margin:0 0 30px}.hotel-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}.hotel-card{border:1px solid #e1e8df;border-radius:14px;padding:22px;background:linear-gradient(135deg,#fff,#f7f5ec)}.hotel-card-top{display:flex;align-items:center;gap:10px;color:#6d8564;font-size:11px;margin-bottom:18px}.hotel-card-top b{margin-left:auto;padding:5px 10px;background:#eaf0e3;border-radius:6px;font-weight:500}.hotel-english{font-size:8px;letter-spacing:1.7px;color:#a0926f}.hotel-card h3{font-size:16px;letter-spacing:.5px;margin:8px 0 20px;line-height:1.8}.stay-dates{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 0;border-top:1px dashed #dce2d4;border-bottom:1px dashed #dce2d4}.stay-dates small{display:block;font-size:9px;color:#92a087;margin-bottom:7px}.stay-dates time{font-size:12px;font-weight:500}.stay-dates>span{color:#adba9d}.hotel-card a{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:10px;color:#176b56;margin-top:10px}.hotel-card:nth-child(2){background:linear-gradient(135deg,#fff,#eff4ec)}@media(max-width:1000px){.hotel-cards{grid-template-columns:1fr}.hotel-card{padding:20px}.stay-dates{justify-content:flex-start;gap:25px}}@media(max-width:760px){.hotel-section{margin-bottom:25px}.hotel-card h3{font-size:15px}.hotel-card{padding:18px}.stay-dates{justify-content:space-between;gap:10px}.hotel-cards{gap:14px}.hotel-card-top{margin-bottom:13px}}.editable{cursor:pointer}.edit{color:#78917a;min-width:44px;min-height:44px;display:grid;place-items:center;border-radius:7px}.edit:hover{background:#eaf3ed}.time small{display:block;font-size:9px;margin-top:5px}.schedule-location{display:flex;align-items:center;gap:4px}.cancel{width:100%;min-height:48px;margin-top:8px;border:1px solid #dce4d8;border-radius:7px;background:#f7f5ee}.modal input,.modal select,.form-row label{min-width:0}.timeline .item-card{gap:7px}.timeline .item-text{padding:6px 0}.timeline .delete{min-width:44px}@media(max-width:760px){.timeline .item-card{flex-wrap:wrap}.timeline .item-text{flex-basis:calc(100% - 102px)}.overlay:has(.cancel){align-items:flex-end;padding:10px 10px max(10px,env(safe-area-inset-bottom))}.modal:has(.cancel){width:100%;max-height:92dvh;padding-bottom:max(24px,env(safe-area-inset-bottom))}}@media(max-width:360px){.overview{grid-template-columns:repeat(2,minmax(0,1fr))}.overview>button{min-width:0;padding:12px 10px;gap:8px}.overview>button>svg{display:none}.overview .stat-icon{width:30px;flex-shrink:0}.overview strong{font-size:18px}.overview em{font-size:8px}.overview small{font-size:9px}}.workspace.thai-workspace{padding:30px;background:#fffaf2;border-color:#f0dfd4;overflow:hidden}.thai-game{--rose:#ad4663;--pink:#f9e5e9;--cream:#fffaf2;--gold:#ad7c2d;--ink:#523b42;color:var(--ink);max-width:900px;margin:auto;scroll-margin-top:14px}.thai-game button,.thai-game summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.thai-game button:focus-visible,.thai-game summary:focus-visible,.thai-game select:focus-visible{outline:3px solid #b07e27;outline-offset:3px}.thai-game button:disabled{cursor:default;opacity:.55}.thai-game h3,.thai-game h4{letter-spacing:.3px}.thai-game p{line-height:1.85}.thai-topline{display:flex;justify-content:space-between;gap:12px;color:var(--gold);font-size:8px;font-weight:700;letter-spacing:2px;border-bottom:1px solid #e9d9c2;padding-bottom:15px}.thai-title-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:21px 0 26px}.thai-title-row h2{font-size:28px;line-height:1.4;letter-spacing:-.5px;color:#853e55;margin:0;font-family:Georgia,Noto Sans JP,serif;font-weight:500}.thai-title-row p{font-size:11px;color:#967d77;margin:9px 0 0}.thai-title-break{display:none}.thai-mango{font-size:45px;transform:rotate(14deg);filter:drop-shadow(0 5px 0 #eacbae55)}.thai-welcome{position:relative;display:flex;align-items:center;gap:30px;background:radial-gradient(ellipse at right top,#faefce,transparent 60%),#f9e6e8;border:1px solid #eed3d5;border-radius:18px;padding:26px 30px}.thai-elephant{font-size:65px;position:relative;line-height:1.2;display:block;flex-shrink:0}.thai-elephant i{position:absolute;left:50%;top:-15px;transform:rotate(-9deg);font-size:12px;background:#fff9eb;border:1px solid #e2c58f;border-radius:30px 30px 30px 0;padding:5px 10px;color:#ad7c2d;font-style:normal;white-space:nowrap}.thai-welcome h3{font-size:19px;line-height:1.6;margin:12px 0 7px}.thai-welcome p{font-size:11px;color:#866966;margin:0}.thai-pill{font-size:9px;font-weight:600;color:#a36a32;display:inline-block;background:#fff8e7;border:1px solid #ead5ad;border-radius:20px;padding:6px 12px;letter-spacing:.5px}.thai-sparkle{position:absolute;right:18px;bottom:15px;color:#c39b52;font-size:25px}.thai-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0 30px}.thai-stats>div{display:flex;flex-direction:column;align-items:center;gap:7px;padding:18px 5px;border:1px solid #ecdfd3;border-radius:12px;background:#fffdfa}.thai-stats svg{color:#b68c4f}.thai-stats strong{font-size:24px;font-weight:600}.thai-stats strong small{font-size:10px;font-weight:400;color:#9a827d}.thai-stats span{font-size:9px;color:#8b716b;text-align:center}.thai-fieldset{border:0;padding:0;margin:26px 0}.thai-fieldset legend{font-size:13px;font-weight:600;margin-bottom:15px;padding:0}.thai-fieldset legend>span{font-family:Georgia,serif;font-size:13px;color:#b08140;margin-right:8px}.thai-genres{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.thai-genre{display:flex;align-items:center;gap:12px;min-height:80px;border:1px solid #eadfd4;background:#fffdf9;border-radius:12px;text-align:left;padding:14px;color:var(--ink)}.thai-genre.all{grid-column:1/-1;min-height:72px}.thai-genre>span{font-size:24px;flex-shrink:0}.thai-genre>div{min-width:0;flex:1}.thai-genre strong{display:block;font-size:12px;font-weight:600;line-height:1.7}.thai-genre small{display:block;font-size:9px;color:#957e76;line-height:1.8;margin-top:3px}.thai-genre>svg{opacity:0;color:var(--rose);flex-shrink:0}.thai-genre.selected{background:#f9e9eb;border-color:#bd6c82;box-shadow:0 0 0 1px #bd6c82 inset}.thai-genre.selected>svg{opacity:1}.thai-levels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.thai-levels button{border:1px solid #eadfd4;background:#fffdf9;border-radius:10px;min-height:76px;padding:12px 6px}.thai-levels strong{display:block;font-size:13px;font-weight:600}.thai-levels small{display:block;font-size:10px;color:#947972;margin-top:6px}.thai-levels .selected{background:#ad4663;border-color:#ad4663;color:#fff}.thai-levels .selected small{color:#fff0f3}.thai-settings{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:25px 0}.thai-settings label{display:block;font-size:11px;font-weight:500;line-height:1.8;min-width:0}.thai-settings select{display:block;width:100%;min-width:0;min-height:48px;margin-top:8px;border:1px solid #e3d4c8;border-radius:8px;background:#fffdf9;color:var(--ink);padding:10px;font-size:16px}.thai-settings select:disabled{opacity:.7}.thai-primary,.thai-secondary{display:flex;justify-content:center;align-items:center;gap:10px;min-height:52px;padding:14px 18px;border-radius:10px;font-size:12px;line-height:1.7;font-weight:600}.thai-primary{background:#ad4663;color:#fff8f1;box-shadow:0 4px #823c51}.thai-primary:hover{background:#983953}.thai-secondary{background:#fffdf7;border:1px solid #d7b97f;color:#8d602b}.thai-start{width:100%;justify-content:space-between;margin:30px 0}.thai-text-button{display:flex;align-items:center;justify-content:center;min-height:46px;font-size:11px;text-decoration:underline;text-underline-offset:4px;margin:8px auto;color:#8c5d62}.thai-review-panel{background:#f9f0df;border:1px solid #e9d9b9;border-radius:14px;padding:20px;margin:24px 0}.thai-review-panel>div:first-child{display:flex;align-items:center;gap:14px}.thai-review-panel>div:first-child>span{font-size:28px}.thai-review-panel h3{font-size:14px;margin:0 0 6px}.thai-review-panel p{font-size:11px;color:#8b705b;margin:0}.thai-review-panel>.thai-secondary{width:100%;margin-top:18px}.thai-review-panel p.thai-note{font-size:10px;margin-top:12px}.thai-weak-list{display:grid;gap:12px;margin-top:12px}.thai-weak-list article{padding:18px;background:#fffcf5;border:1px solid #eadac2;border-radius:10px}.thai-voice-note{display:flex;align-items:flex-start;gap:8px;background:#f5eee5;border-radius:9px;padding:13px;margin:18px 0 12px;color:#826f68;font-size:10px;line-height:1.9}.thai-voice-note svg{flex-shrink:0;margin-top:2px}.thai-language-note{font-size:10px;color:#8e7970;margin:12px 0}.thai-local{font-size:9px;text-align:center;color:#9f8062;margin:20px 0 0;letter-spacing:.4px}.thai-warning{background:#fff0dc;border:1px solid #e7c899;border-radius:9px;padding:13px;font-size:12px;color:#86562b}.thai-round-bar{display:flex;align-items:center;gap:12px;border-bottom:1px solid #eadbca;padding:0 0 14px}.thai-round-bar>span{flex:1;font-size:10px;color:#937c72}.thai-round-bar>strong{font-size:20px;white-space:nowrap;color:var(--rose)}.thai-round-bar>strong small{font-size:10px;font-weight:400}.thai-back{display:flex;align-items:center;gap:5px;min-height:44px;padding:8px 12px;border-radius:8px;border:1px solid #e8d8c9;background:#fffdf9;font-size:11px}.thai-question-count{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:22px 0 12px;color:#947b6c;font-size:9px;letter-spacing:.7px}.thai-question-count strong{font-family:Georgia,serif;font-size:23px;color:#aa5670;margin:0 5px}.thai-progress{height:5px;accent-color:var(--rose)}.thai-progress::-webkit-progress-bar{background:#eee0d7}.thai-progress::-webkit-progress-value{background:#bf7186}.thai-question{padding:32px 10px 28px;text-align:center}.thai-question h3{font-size:23px;line-height:1.8;margin:22px 0 8px;font-weight:600;overflow-wrap:anywhere}.thai-question h3[lang=th]{font-size:29px;font-weight:500;letter-spacing:0}.thai-question .thai-audio{margin:14px auto 0}.thai-kana{font-size:12px;color:#987d76;margin:7px 0}.thai-options{display:grid;gap:12px}.thai-option{display:flex;align-items:center;gap:16px;text-align:left;border:1px solid #e4d6c9;border-radius:12px;padding:17px 18px;min-height:80px;background:#fffefa;box-shadow:0 3px #eae0d7;color:var(--ink)}.thai-option-letter{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;border:1px solid #e1ccb8;color:#b4874c;font-family:Georgia,serif;font-size:16px;flex-shrink:0;background:#fff9ed}.thai-option-text{display:block;min-width:0;flex:1;font-size:15px;line-height:1.8;overflow-wrap:anywhere}.thai-option-text>[lang=th]{font-size:20px;line-height:1.8}.thai-option small{display:block;font-size:10px;color:#967e75;margin-top:5px}.thai-game .thai-option:disabled{opacity:1;color:var(--ink)}.thai-option.right{border-color:#6f9d7e;background:#e9f3e9;box-shadow:0 3px #cadfca}.thai-option.right .thai-option-letter{background:#5b8266;border-color:#5b8266;color:#fff}.thai-option.wrong{border-color:#d6a8a1;background:#fcf0e8;box-shadow:0 3px #edd5c9}.thai-option.wrong .thai-option-letter{background:#f2dbd2;color:#a16a5b;border-color:#e8c6b8}.thai-prompt-note{font-size:10px;text-align:center;color:#9a7e75;padding:8px 0}.thai-feedback{position:relative;margin:24px 0 0;padding:20px;background:#fffdf7;border:1px solid #dfd5bb;border-radius:14px;outline:none}.thai-feedback-heading{display:flex;justify-content:space-between;gap:10px;font-size:13px;font-weight:600;color:#648366;border-bottom:1px dashed #ddd7bc;padding:0 0 14px}.thai-feedback-heading>span:last-child{font-size:12px;color:#b18c4d;font-weight:400}.thai-feedback.gentle .thai-feedback-heading{color:#9d7160}.thai-phrase{text-align:left;padding-top:8px}.thai-script{font-size:22px;line-height:1.9!important;letter-spacing:0;margin:7px 0 0;overflow-wrap:anywhere;font-weight:500;color:#70484c}.thai-translation{font-size:12px;color:#6e514d;margin:7px 0}.thai-audio{min-height:44px;display:flex;align-items:center;gap:8px;border:1px solid #e0c9a7;border-radius:30px;padding:9px 14px;margin:13px 0 0;font-size:11px;color:#966d32;background:#fff7e4}.thai-variants{border-top:1px dashed #e8dcca;margin-top:14px;padding-top:4px;font-size:11px;color:#8f736a}.thai-variants summary{cursor:pointer;min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:4px}.thai-variants p{margin:6px 0;font-size:11px}.thai-variants span{font-size:16px;color:#72524e}.thai-variants small{display:block;font-size:10px;margin-top:4px}.thai-note{font-size:10px;color:#9a7e68;line-height:1.9}.thai-next{margin-top:22px;width:100%;justify-content:space-between}.thai-confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none;border-radius:14px}.thai-confetti i{position:absolute;top:0;left:var(--x);width:6px;height:10px;background:#dfae53;opacity:0;transform:rotate(var(--turn))}.thai-confetti i:nth-child(3n){background:#d98b9c}.thai-confetti i:nth-child(3n+1){background:#95b499}.thai-results{text-align:center;padding:14px 0}.thai-result-motif{display:block;font-size:58px;margin:6px 0 14px}.thai-results>.thai-pill{display:inline-block}.thai-results h3{font-size:22px;line-height:1.8;margin:22px 0 8px;outline:none}.thai-result-score{color:#a74362;margin:10px 0}.thai-result-score strong{font-family:Georgia,serif;font-weight:400;font-size:84px;line-height:1.2}.thai-result-score>span{font-size:14px;color:#a48877}.thai-results>p{font-size:11px;color:#987d70}.thai-results .thai-result-accuracy{font-size:13px;color:#6e524b}.thai-result-accuracy strong{font-size:22px;color:#ad7c2d;margin:0 5px}.thai-result-actions{display:grid;gap:12px;max-width:440px;margin:26px auto}.thai-results h4{text-align:left;border-top:1px solid #e8d8c3;padding-top:24px;font-size:14px;margin:28px 0 14px}.thai-answer-list{display:grid;gap:10px;text-align:left}.thai-answer-list>details{background:#fffcf7;border:1px solid #eadccc;border-radius:10px;padding:4px 14px}.thai-answer-list>details>summary{display:flex;align-items:center;gap:10px;cursor:pointer;min-height:54px;font-size:12px}.thai-answer-list .hit,.thai-answer-list .miss{display:flex;align-items:center;justify-content:center;width:25px;height:25px;border-radius:50%;flex-shrink:0}.thai-answer-list .hit{background:#e8efe3;color:#6f8f67}.thai-answer-list .miss{background:#f6e4db;color:#ad7d68}.thai-answer-status{margin-left:auto;font-size:9px;white-space:nowrap;color:#a38a73}.thai-answer-list .thai-phrase{padding:4px 10px 12px}.thai-quit{background:#fff3df;border:1px solid #d6b47f;border-radius:12px;padding:18px;margin-top:20px}.thai-quit p{font-weight:600;font-size:13px;margin:0 0 8px}.thai-quit small{display:block;font-size:10px;color:#8f775e;line-height:1.8}.thai-quit>div{display:flex;gap:10px;margin-top:16px}.thai-quit button{flex:1}@media(max-width:760px){.workspace.thai-workspace{padding:22px 16px;border-radius:16px}.thai-topline{font-size:7px;letter-spacing:1px}.thai-title-row{margin:20px 0}.thai-title-row h2{font-size:27px}.thai-title-break{display:initial}.thai-title-row h2>span{font-size:24px}.thai-mango{font-size:36px}.thai-title-row p{font-size:10px}.thai-welcome{padding:23px 16px;gap:16px}.thai-elephant{font-size:43px}.thai-elephant i{font-size:10px;padding:4px 8px;left:25%;top:-16px}.thai-welcome h3{font-size:14px;margin-top:10px}.thai-welcome p{font-size:10px}.thai-welcome .thai-pill{font-size:8px;padding:5px 9px}.thai-sparkle{font-size:18px;right:8px;bottom:8px}.thai-stats{gap:7px;margin-bottom:26px}.thai-stats>div{padding:13px 4px;gap:6px}.thai-stats strong{font-size:22px}.thai-stats strong small{font-size:9px}.thai-stats span{font-size:8px;line-height:1.8}.thai-genres{gap:8px}.thai-genre{padding:12px 10px;gap:8px;min-height:104px;flex-wrap:wrap;align-content:center}.thai-genre.all{min-height:70px;flex-wrap:nowrap}.thai-genre>span{font-size:23px}.thai-genre>div{flex-basis:calc(100% - 39px)}.thai-genre strong{font-size:10px}.thai-genre small{font-size:8px}.thai-genre>svg{display:none}.thai-genre.all>svg{display:block}.thai-fieldset legend{font-size:12px}.thai-levels{gap:8px}.thai-levels small{font-size:9px}.thai-levels strong{font-size:12px}.thai-settings{grid-template-columns:1fr;gap:16px;margin-top:24px}.thai-start{font-size:12px}.thai-review-panel{padding:17px 14px}.thai-review-panel h3{font-size:13px}.thai-review-panel p{font-size:10px}.thai-question{padding:28px 0 24px}.thai-question h3{font-size:20px;margin-top:20px}.thai-question h3[lang=th]{font-size:25px}.thai-option{padding:14px 12px;gap:11px;min-height:84px}.thai-option-text{font-size:13px}.thai-option-text>[lang=th]{font-size:19px}.thai-option-letter{width:29px;height:29px}.thai-feedback{padding:17px 13px}.thai-feedback-heading{font-size:12px;line-height:1.7;align-items:center}.thai-feedback-heading>span:last-child{font-size:11px;white-space:nowrap}.thai-script{font-size:22px}.thai-round-bar{gap:8px}.thai-round-bar>span{font-size:9px;line-height:1.8}.thai-back{padding:8px;font-size:10px}.thai-title-row+.thai-playing{margin-top:8px}.thai-results h3{font-size:19px}.thai-answer-list>details{padding:4px 10px}.thai-answer-list>details>summary{font-size:11px}.thai-game .thai-primary,.thai-game .thai-secondary{min-height:52px}}@media(max-width:360px){.thai-title-row h2{font-size:24px}.thai-mango{display:none}.thai-welcome{gap:10px;padding:23px 10px}.thai-genre strong{font-size:10px}.thai-game .thai-primary{font-size:11px}.thai-option-text>[lang=th]{font-size:18px}}@media(prefers-reduced-motion:no-preference){.thai-option.wrong,.thai-feedback.gentle{animation:thai-soft-pulse .5s ease-out}.thai-confetti i{animation:thai-confetti-fall 1.3s var(--delay) ease-out both}@keyframes thai-soft-pulse{0%{transform:scale(.98);opacity:.75}to{transform:scale(1);opacity:1}}@keyframes thai-confetti-fall{0%{opacity:0;transform:translateY(-12px) rotate(var(--turn))}12%{opacity:1}to{opacity:0;transform:translateY(180px) rotate(calc(var(--turn) + 180deg))}}}@media(max-width:760px){.mobile-nav button{min-width:0;flex:1;font-size:8px;padding-left:1px;padding-right:1px;gap:6px}.mobile-nav button>span{white-space:nowrap}.mobile-nav button[data-thai=true].active{color:#ad4663}.mobile-nav button[data-thai=true].active:before{background:#ad4663}}.thai-title-row h2>span{display:inline;margin:0;letter-spacing:0;font-weight:inherit}.thai-game.in-round .thai-topline{display:none}.thai-game.in-round .thai-title-row{margin:0 0 20px}.thai-game.in-round .thai-title-row h2{font-size:22px}.thai-game.in-round .thai-title-break,.thai-game.in-round .thai-title-row p{display:none}.thai-game.in-round .thai-mango{font-size:28px}@media(max-width:760px){.thai-game.in-round .thai-title-row h2{font-size:19px;line-height:1.6}.thai-game.in-round .thai-title-row h2>span{font-size:18px}.thai-game.in-round .thai-title-row{margin-bottom:12px}.thai-game.in-round .thai-mango{display:none}.thai-game.in-round .thai-question{padding-top:22px;padding-bottom:20px}.thai-game.in-round .thai-question h3{margin-top:14px}.thai-game.in-round .thai-options{gap:10px}.thai-game.in-round .thai-question-count{margin-top:15px}}
