:root { --desk:#e8e1cf; --paper:#fbfbf8; --ink:#242321; --muted:#77736c; --blue:#164ad8; --line:rgba(36,35,33,.18); --serif:"Helemate Noto Serif SC","Noto Serif SC","Source Han Serif SC","Songti SC",serif; --mono:"Courier New",ui-monospace,monospace; }
* { box-sizing:border-box; }
html { min-width:320px; min-height:100%; background:var(--desk); }
body { min-height:100dvh; margin:0; color:var(--ink); background:repeating-radial-gradient(circle at 22% 14%,rgba(36,35,33,.045) 0 .5px,transparent .8px 5px),repeating-linear-gradient(90deg,transparent 0 24px,rgba(36,35,33,.018) 24px 25px),var(--desk); font-family:var(--serif); }
button { font:inherit; }
.site-header { display:flex; align-items:center; justify-content:space-between; min-height:74px; padding:calc(14px + env(safe-area-inset-top)) 22px 10px; }
.wordmark { display:grid; color:inherit; text-decoration:none; }.wordmark strong{font-size:20px;letter-spacing:.14em}.wordmark span{margin-top:2px;color:var(--muted);font:10px var(--mono);letter-spacing:.08em}.back-home{min-height:44px;display:grid;place-items:center;color:inherit;text-decoration:none;font-size:13px}
main { padding:18px 16px calc(42px + env(safe-area-inset-bottom)); }
.center-heading { padding:28px 8px 30px; }.center-heading p,.section-intro>p{margin:0 0 10px;font-size:12px;font-weight:700;letter-spacing:.08em}.center-heading p span,.section-intro p span{margin-left:7px;color:var(--muted);font:10px var(--mono)}.center-heading h1{margin:0;font-size:38px}.center-heading small{display:block;margin-top:8px;color:var(--muted);font:11px var(--mono)}
.center-tabs { display:grid; grid-template-columns:repeat(4,1fr); margin-bottom:18px; border-bottom:1px solid var(--line); }.center-tabs button{position:relative;min-height:48px;padding:0 2px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-size:13px;cursor:pointer}.center-tabs button.is-active{border-color:var(--blue);color:var(--ink);font-weight:700}.center-tabs .orders-tab{color:var(--ink);font-weight:700}.center-tabs .orders-tab b{display:none!important}
.tab-panel { display:none; min-height:480px; padding:24px 20px 30px; background:repeating-radial-gradient(circle at 30% 18%,rgba(36,35,33,.032) 0 .5px,transparent .8px 5px),var(--paper); box-shadow:0 12px 30px rgba(64,56,42,.09); }.tab-panel.is-active{display:block;animation:show .25s ease both}
.filter-row{display:flex;gap:16px;overflow-x:auto;padding-bottom:16px;border-bottom:1px solid var(--line);scrollbar-width:none}.filter-row button{flex:0 0 auto;padding:0 0 5px;border:0;border-bottom:1px solid transparent;background:transparent;color:var(--muted);font-size:12px}.filter-row button.is-active{border-color:var(--ink);color:var(--ink)}
.report-row{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:end;padding:24px 0;border-bottom:1px solid var(--line)}.report-row p{margin:0 0 8px;font-size:12px;font-weight:700}.report-row p span{display:block;margin-top:3px;color:var(--muted);font:9px var(--mono)}.report-row h2{margin:0 0 10px;font-size:24px}.report-row small{color:var(--muted);font-size:11px}.report-row a{padding-bottom:3px;border-bottom:1px solid var(--ink);color:inherit;text-decoration:none;font-size:12px;white-space:nowrap}
.section-intro{margin-bottom:18px}.section-intro h2{margin:0;font-size:28px}.section-intro small{display:block;margin-top:8px;color:var(--muted);font-size:12px;line-height:1.7}.future-sheet{display:flex;justify-content:space-between;gap:12px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);opacity:.65}.future-sheet h3{margin:0 0 7px;font-size:20px}.future-sheet p,.future-sheet small{margin:0;color:var(--muted);font-size:11px;line-height:1.6}.future-sheet>span{white-space:nowrap;color:var(--muted);font-size:11px}.availability-note{margin:20px 0 0;color:var(--muted);font-size:11px;line-height:1.7}
.setting-row{display:flex;width:100%;min-height:72px;align-items:center;justify-content:space-between;padding:15px 0;border:0;border-bottom:1px solid var(--line);background:transparent;color:inherit;text-align:left;text-decoration:none}.setting-row:is(button,a){cursor:pointer}.setting-row:disabled{cursor:wait;opacity:.58}.setting-row p,.setting-row strong{margin:0}.setting-row p,.setting-row>span{font-size:14px}.setting-row strong,.setting-row b{display:block;margin-top:4px;color:var(--muted);font-size:11px;font-weight:400}.setting-row b{margin:0}.setting-row.is-muted{cursor:default;opacity:.55}.setting-row.danger{margin-top:28px;color:#963a30}.settings-message{margin:16px 0 0;color:#963a30;font-size:11px;line-height:1.7}.panel-state{padding:70px 8px;text-align:center}.panel-state h2{font-size:23px}.panel-state p{color:var(--muted);font-size:12px;line-height:1.7}.panel-state a{display:inline-block;margin-top:12px;color:inherit}
.panel-loading,.panel-error{position:relative;padding:56px 0 56px 20px;color:var(--muted);font-size:12px;line-height:1.8}.panel-loading::before{content:"";position:absolute;top:58px;left:0;width:8px;height:8px;border:1px solid var(--blue);border-top-color:transparent;border-radius:50%;animation:spin .9s linear infinite}.panel-error{border-left:2px solid #963a30;background:rgba(150,58,48,.045)}.panel-error button{display:block;margin-top:14px;padding:0 0 4px;border:0;border-bottom:1px solid currentColor;background:transparent;color:var(--ink);cursor:pointer}@keyframes spin{to{transform:rotate(360deg)}}
@keyframes show{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.tab-panel.is-active{animation:none}}
@media(min-width:760px){.site-header,main{max-width:1080px;margin:auto}.site-header{padding-inline:32px}main{padding:36px 32px 70px}.center-heading{padding-top:46px}.tab-panel{min-height:520px;padding:34px 40px}.report-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 34px}}
.order-center-overview{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 28px}.order-center-overview span{padding:7px 10px;border:1px solid var(--line);color:var(--muted);font:11px var(--mono)}.order-center-block{margin-top:30px}.order-center-block h3{margin:0 0 8px;font-size:21px}.account-order-list{margin:20px 0 32px;padding:18px 0;border-top:2px solid var(--ink)}.account-order-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}.account-order-row p{margin:0 0 7px;font-size:12px;font-weight:700}.account-order-row p span{margin-left:8px;color:var(--muted);font-weight:400}.account-order-row h2{margin:0 0 8px;font:600 15px var(--mono);word-break:break-all}.account-order-row small{display:block;color:var(--muted);font-size:11px;line-height:1.7}.account-order-row a{flex:none;padding-bottom:4px;border-bottom:1px solid var(--ink);color:inherit;font-size:12px;text-decoration:none}.order-status.is-paid{color:#2c6a43}.order-status.is-pending{color:var(--blue)}.order-status.is-expired,.order-status.is-unknown{color:#963a30}.order-empty{padding:28px 0;color:var(--muted)}.order-empty h4{margin:0 0 8px;color:var(--ink);font-size:18px}.order-empty p{margin:0;font-size:12px;line-height:1.7}.gift-list{margin-top:12px;padding-top:18px;border-top:2px solid var(--ink)}.gift-row{padding:22px 0;border-bottom:1px solid var(--line)}.gift-row p{margin:0 0 7px;font-size:12px;font-weight:700}.gift-row p span{margin-left:8px;color:var(--muted);font-weight:400}.gift-row h2{margin:0 0 12px;font-size:22px}.gift-row strong{display:block;font:700 18px var(--mono);letter-spacing:.08em}.gift-row small{display:block;margin:8px 0 14px;color:var(--muted);font-size:11px;line-height:1.7}.gift-row div{display:flex;gap:12px}.gift-row button{padding:7px 0;border:0;border-bottom:1px solid var(--ink);background:transparent;color:inherit;font-size:12px}
.cloud-profile-form{display:grid;gap:14px;margin-top:36px;padding-top:26px;border-top:2px solid var(--ink)}.cloud-profile-form h3{margin:0 0 4px;font-size:22px}.cloud-profile-form label,.cloud-place-control{display:grid;gap:7px;color:var(--muted);font-size:11px}.cloud-profile-form input,.cloud-profile-form select{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:0;background:rgba(255,255,255,.55);color:var(--ink);font:16px var(--serif)}.cloud-profile-form>div:not(.cloud-place-control){display:flex;gap:16px}.cloud-profile-form button,.report-row button{min-height:40px;padding:7px 0;border:0;border-bottom:1px solid var(--ink);background:transparent;color:inherit}.cloud-place-control>small{color:var(--muted);font-size:10px;line-height:1.6}.cloud-place-field{position:relative}.cloud-place-suggestions{position:absolute;z-index:3;top:calc(100% + 4px);right:0;left:0;max-height:224px;overflow:auto;border:1px solid var(--line);background:var(--paper);box-shadow:0 12px 24px rgba(64,56,42,.13)}.cloud-place-suggestions[hidden]{display:none}.cloud-place-option{display:grid;width:100%;gap:3px;min-height:56px;padding:10px 12px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);text-align:left;cursor:pointer}.cloud-place-option:last-child{border-bottom:0}.cloud-place-option:hover,.cloud-place-option:focus-visible{background:rgba(22,74,216,.055);outline:0}.cloud-place-option strong{font-size:13px;font-weight:700}.cloud-place-option span,.cloud-place-empty{color:var(--muted);font-size:10px;line-height:1.5}.cloud-place-empty{display:block;padding:13px 12px}.profile-report-links{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:14px}.profile-report-links a{font-size:11px}.report-row>div:last-child{display:flex;gap:12px}@media(min-width:760px){.cloud-profile-form{grid-template-columns:repeat(2,minmax(0,1fr))}.cloud-profile-form h3,.cloud-profile-form>div:not(.cloud-place-control),.cloud-profile-form .panel-error{grid-column:1/-1}}
[data-panel="profiles"] .report-list>.report-row:first-child{padding-top:14px}
.profile-daily-link{padding:18px 0 22px;border-block:1px solid var(--line);margin-bottom:22px;line-height:1.8}.profile-daily-link p{margin:0 0 6px;color:var(--muted);font-size:12px}.profile-daily-link strong{display:block;font-size:20px;overflow-wrap:anywhere}.profile-daily-link small{display:block;margin-top:6px;color:var(--muted);font-size:12px}.profile-daily-link a{display:inline-block;min-height:44px;margin-top:8px;padding:8px 0;color:var(--ink);font-size:13px}.profile-status{padding:12px 0;color:#456345;font-size:13px;line-height:1.8}
[data-panel="profiles"] .report-row{grid-template-columns:minmax(0,1fr);gap:12px}[data-panel="profiles"] .report-row h2{overflow-wrap:anywhere}[data-panel="profiles"] .report-row small{line-height:1.8;overflow-wrap:anywhere}[data-panel="profiles"] .profile-row-actions{justify-content:flex-start}
.cloud-profile-form>div.birth-text-field{display:grid;grid-column:auto;gap:7px;min-width:0}.birth-text-field>span{display:flex;gap:8px;min-width:0}.birth-text-field input{min-width:0}.birth-text-field button{flex:none;min-width:44px}.cloud-profile-form .cloud-place-control{grid-column:1/-1;min-width:0}.cloud-place-suggestions{position:relative;top:auto;margin-top:6px;max-height:320px;max-height:min(320px,45dvh);box-shadow:none;overscroll-behavior:contain;scrollbar-width:thin}.cloud-profile-form .cloud-place-option{padding:12px;min-height:60px;border-bottom:1px solid var(--line);white-space:normal;overflow-wrap:anywhere}.cloud-place-option strong{font-size:15px;line-height:1.7}.cloud-place-option span{font-size:12px}.cloud-place-levels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:10px}.cloud-place-levels>div{display:grid;align-content:start;gap:7px;min-width:0}.cloud-profile-form .cloud-place-levels button{width:100%;min-height:48px;padding:10px;border:1px solid var(--line);font-size:14px;text-align:left;line-height:1.6;overflow-wrap:anywhere}.cloud-place-levels button::after{content:'⌄';margin-left:6px}.cloud-place-levels button:disabled{opacity:.5}.cloud-profile-form .profile-self-choice{grid-column:1/-1;grid-template-columns:22px minmax(0,1fr);gap:10px;align-items:start;color:var(--ink);font-size:13px;line-height:1.8}.cloud-profile-form .profile-self-choice input{width:20px;min-height:20px;height:20px;margin:3px 0;accent-color:#456345}.profile-self-choice small{display:block;color:var(--muted);font-size:12px}.cloud-profile-form>div:last-child{flex-wrap:wrap}.cloud-profile-form button:disabled{opacity:.5}
.birth-field-dialog{box-sizing:border-box;width:min(460px,calc(100vw - 24px));max-height:85dvh;overflow:auto;padding:20px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-family:var(--serif)}.birth-field-dialog::backdrop{background:#24232166}.birth-field-dialog header{display:flex;align-items:center;justify-content:space-between;gap:12px}.birth-field-dialog h2{margin:0;font-size:20px}.birth-field-dialog button{min-height:44px;border:0;background:transparent;color:inherit;cursor:pointer}.birth-field-dialog [data-close]{width:44px;font-size:26px}.birth-field-dialog input,.birth-field-dialog select{width:100%;min-width:0;min-height:46px;padding:10px;border:1px solid var(--line);border-radius:0;background:transparent;color:inherit;font:16px var(--serif)}.birth-field-dialog [data-note],.birth-field-dialog [data-error]{font-size:12px;line-height:1.8}.birth-field-dialog [data-error]{color:#963a30}.birth-place-options{max-height:48dvh;overflow:auto;overscroll-behavior:contain}.birth-place-options>button{display:grid;gap:4px;width:100%;padding:12px 4px;text-align:left;border-bottom:1px solid var(--line);line-height:1.8;white-space:normal;overflow-wrap:anywhere}.birth-place-options strong{font-size:15px;font-weight:500}.birth-place-options small{color:var(--muted);font-size:12px}.birth-picker-columns{display:flex;gap:12px;margin:22px 0}.birth-picker-columns label{display:grid;flex:1;gap:8px;font-size:12px}.birth-picker-columns label:first-child{flex:1.4}.birth-field-dialog [data-apply]{display:block;width:100%;border:1px solid var(--ink);font-size:15px}
@media(max-width:520px){.cloud-place-levels{grid-template-columns:minmax(0,1fr)}.cloud-profile-form{gap:20px}.cloud-profile-form label{font-size:12px}}
.redemption-row h2{margin-bottom:6px}.redemption-row .redemption-report-id{margin:0 0 8px;color:var(--ink);font:10px var(--mono);letter-spacing:.02em;word-break:break-all}.redemption-row div{margin-top:4px}.redemption-row a{padding-bottom:3px;border-bottom:1px solid var(--ink);color:inherit;font-size:12px;text-decoration:none}
