@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Noto+Sans+JP:wght@300;400;500;600;700;800;900&display=swap";
:root{--bg-app:#f4f7fa;--bg-surface:#fff;--bg-elevated:#f4f5f7;--bg-hover:#eef0f3;--bg-active:#e8ebef;--bg-sidebar:#f9fafc;--text-primary:#080c0f;--text-secondary:#424850;--text-tertiary:#6d7277;--text-quaternary:#95999da3;--text-inverse:#f7f9fa;--border:#dbdee199;--border-subtle:#e6e8ea80;--border-strong:#c0c5c980;--accent:#00a066;--accent-hover:#008757;--accent-subtle:#00a06614;--accent-muted:#00a06626;--accent-fg:#fcfcfc;--accent-gradient:linear-gradient(135deg,#00a066,#007d50);--success:#00a066;--success-subtle:#00a06614;--warning:#e2a000;--warning-subtle:#e2a0001a;--error:#df202e;--error-subtle:#df202e14;--info:#1a83db;--info-subtle:#1a83db14;--status-not-started:#7c8186;--status-in-progress:#1a83db;--status-completed:#00a066;--status-pending:#e2a000;--status-returned:#df202e;--status-forbidden:#8451c9;--status-star:#e2a000;--xp-color:#e2a000;--xp-gradient:linear-gradient(90deg,#e2a000,#edb345);--level-gradient:linear-gradient(135deg,#615ed6,#773ac1);--streak-gradient:linear-gradient(135deg,#ee560c,#fa7c20);--achievement-gold:linear-gradient(135deg,#e2a000,#ca7a00);--shadow-xs:0 1px 2px #080c0f0a;--shadow-sm:0 2px 4px #080c0f0d,0 1px 2px #080c0f08;--shadow-md:0 4px 12px #080c0f0f,0 2px 4px #080c0f08;--shadow-lg:0 8px 24px #080c0f14,0 4px 8px #080c0f0a;--shadow-xl:0 16px 48px #080c0f1a,0 8px 16px #080c0f0d;--shadow-glow-accent:0 0 24px #00a06633;--shadow-glow-gold:0 0 20px #e2a00040;--radius-xs:6px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:24px;--radius-full:9999px;--nav-height:56px;--bottom-nav-height:64px;--content-max-width:560px;--grid-max-width:1200px;--section-gap:64px;--card-gap:12px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--ease-out:cubic-bezier(.16,1,.3,1);--ease-spring:cubic-bezier(.175,.885,.32,1.275);--duration-fast:.15s;--duration-base:.2s;--duration-slow:.3s;--duration-modal:.4s;--transition-fast:.15s cubic-bezier(.16,1,.3,1);--transition-base:.2s cubic-bezier(.16,1,.3,1);--transition-slow:.3s cubic-bezier(.16,1,.3,1);--transition-spring:.4s cubic-bezier(.175,.885,.32,1.275)}@supports (color:lab(0% 0 0)){:root{--bg-app:lab(97.0962% -.553459 -1.78933);--bg-surface:lab(100% 0 0);--bg-elevated:lab(96.5178% -.333786 -1.07461);--bg-hover:lab(94.7762% -.55328 -1.78925);--bg-active:lab(93.0353% -.66188 -2.14599);--bg-sidebar:lab(98.2578% -.333846 -1.07464);--text-primary:lab(3.03964% -.478722 -2.0547);--text-secondary:lab(30.3812% -1.51862 -5.29536);--text-tertiary:lab(47.7904% -1.06922 -3.55804);--text-quaternary:lab(62.8731% -.870317 -2.8544/.64);--text-inverse:lab(97.6778% -.333875 -1.07461);--border:lab(88.3962% -.552863 -1.78897/.6);--border-subtle:lab(91.8778% -.333726 -1.07453/.5);--border-strong:lab(79.1134% -.874937 -2.85695/.5);--accent:lab(58.1395% -57.7166 22.5538);--accent-hover:lab(50.0085% -58.3261 22.7222);--accent-subtle:lab(58.1395% -57.7166 22.5538/.08);--accent-muted:lab(58.1395% -57.7166 22.5538/.15);--accent-fg:lab(98.84% .0000298023 -.0000119209);--accent-gradient:linear-gradient(135deg,lab(58.1395% -57.7166 22.5538),lab(46.399% -54.8712 21.379));--success:lab(58.1395% -57.7166 22.5538);--success-subtle:lab(58.1395% -57.7166 22.5538/.08);--warning:lab(70.9465% 19.2186 87.3143);--warning-subtle:lab(70.9465% 19.2186 87.3143/.1);--error:lab(49.0306% 69.7939 45.0284);--error-subtle:lab(49.0306% 69.7939 45.0284/.08);--info:lab(52.7661% -3.82182 -53.6623);--info-subtle:lab(52.7661% -3.82182 -53.6623/.08);--status-not-started:lab(53.5907% -1.0736 -3.56036);--status-in-progress:lab(52.7661% -3.82182 -53.6623);--status-completed:lab(58.1395% -57.7166 22.5538);--status-pending:lab(70.9465% 19.2186 87.3143);--status-returned:lab(49.0306% 69.7939 45.0284);--status-forbidden:lab(44.9264% 40.4628 -55.5955);--status-star:lab(70.9465% 19.2186 87.3143);--xp-color:lab(70.9465% 19.2186 87.3143);--xp-gradient:linear-gradient(90deg,lab(70.9465% 19.2186 87.3143),lab(76.8535% 14.2022 61.9688));--level-gradient:linear-gradient(135deg,lab(45.2841% 27.7799 -63.0038),lab(38.5245% 47.42 -61.5911));--streak-gradient:linear-gradient(135deg,lab(57.762% 57.8628 66.0755),lab(66.3876% 45.8614 67.3561));--achievement-gold:linear-gradient(135deg,lab(70.9465% 19.2186 87.3143),lab(58.8635% 31.6645 115.942));--shadow-xs:0 1px 2px lab(3.03964% -.478722 -2.0547/.04);--shadow-sm:0 2px 4px lab(3.03964% -.478722 -2.0547/.05),0 1px 2px lab(3.03964% -.478722 -2.0547/.03);--shadow-md:0 4px 12px lab(3.03964% -.478722 -2.0547/.06),0 2px 4px lab(3.03964% -.478722 -2.0547/.03);--shadow-lg:0 8px 24px lab(3.03964% -.478722 -2.0547/.08),0 4px 8px lab(3.03964% -.478722 -2.0547/.04);--shadow-xl:0 16px 48px lab(3.03964% -.478722 -2.0547/.1),0 8px 16px lab(3.03964% -.478722 -2.0547/.05);--shadow-glow-accent:0 0 24px lab(58.1395% -57.7166 22.5538/.2);--shadow-glow-gold:0 0 20px lab(70.9465% 19.2186 87.3143/.25)}}[data-theme=dark]{--bg-app:#010101;--bg-surface:#040506;--bg-elevated:#0a0b0d;--bg-hover:#121416;--bg-active:#191b1d;--bg-sidebar:#020203;--text-primary:#eceff2;--text-secondary:#a0a5ab;--text-tertiary:#5f6469;--text-quaternary:#44484d7a;--border:#20222480;--border-subtle:#15161866;--border-strong:#2c2e3199;--accent:#12c281;--accent-hover:#00aa6f;--accent-subtle:#12c2811a;--accent-muted:#12c2812e;--shadow-xs:0 1px 2px #0003;--shadow-sm:0 2px 4px #00000040;--shadow-md:0 4px 12px #0000004d;--shadow-lg:0 8px 24px #00000059;--shadow-xl:0 16px 48px #00000073}@supports (color:lab(0% 0 0)){[data-theme=dark]{--bg-app:lab(.309372% -.0338852 -.130227);--bg-surface:lab(1.20034% -.138327 -.537747);--bg-elevated:lab(3.0455% -.267319 -.984484);--bg-hover:lab(6.19116% -.438228 -1.56531);--bg-active:lab(9.51488% -.528023 -1.7756);--bg-sidebar:lab(.657473% -.0743121 -.287613);--text-primary:lab(94.1962% -.55328 -1.78922);--text-secondary:lab(67.5111% -1.08168 -3.56467);--text-tertiary:lab(41.9902% -1.06397 -3.55529);--text-quaternary:lab(30.3894% -1.0494 -3.54785/.48);--border:lab(12.9951% -.531986 -1.77765/.5);--border-subtle:lab(7.22269% -.395872 -1.37621/.4);--border-strong:lab(18.7941% -.638396 -2.13318/.6);--accent:lab(69.6249% -53.5528 21.014);--accent-hover:lab(61.4975% -53.895 21.109);--accent-subtle:lab(69.6249% -53.5528 21.014/.1);--accent-muted:lab(69.6249% -53.5528 21.014/.18);--shadow-xs:0 1px 2px lab(0% 0 0/.2);--shadow-sm:0 2px 4px lab(0% 0 0/.25);--shadow-md:0 4px 12px lab(0% 0 0/.3);--shadow-lg:0 8px 24px lab(0% 0 0/.35);--shadow-xl:0 16px 48px lab(0% 0 0/.45)}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;touch-action:manipulation;scroll-behavior:smooth;max-width:100vw;overflow-x:hidden}body{background-color:var(--bg-app);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.011em;font-feature-settings:"cv02","cv03","cv04","cv11";min-height:100dvh;font-family:Inter,-apple-system,BlinkMacSystemFont,Noto Sans JP,Hiragino Sans,sans-serif;font-size:14px;line-height:1.5}:lang(ja){letter-spacing:.02em;font-feature-settings:"palt";line-break:strict;overflow-wrap:anywhere;word-break:auto-phrase;line-height:1.8}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit;font-size:inherit;-webkit-tap-highlight-color:transparent;background:0 0;border:none}input,select,textarea{font-family:inherit;font-size:inherit;-webkit-tap-highlight-color:transparent}.heading-xl{letter-spacing:-.06em;text-wrap:balance;color:var(--text-primary);font-size:clamp(1.75rem,4vw,2.5rem);font-weight:800;line-height:1.1}.heading-lg{letter-spacing:-.04em;text-wrap:balance;color:var(--text-primary);font-size:clamp(1.25rem,3vw,1.75rem);font-weight:700;line-height:1.15}.heading-md{letter-spacing:-.02em;color:var(--text-primary);font-size:1rem;font-weight:700;line-height:1.25}.heading-sm{letter-spacing:-.01em;color:var(--text-primary);font-size:.8125rem;font-weight:600;line-height:1.3}.text-body{color:var(--text-secondary);font-size:.875rem;font-weight:400;line-height:1.5}.text-caption{letter-spacing:.01em;color:var(--text-tertiary);font-size:.6875rem;font-weight:500}.text-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-quaternary);font-size:.6875rem;font-weight:600}.text-number{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-5);transition:box-shadow var(--transition-base),transform var(--transition-base)}.card:hover{box-shadow:var(--shadow-md)}.card-interactive:hover{box-shadow:var(--shadow-lg);transform:scale(1.01)}.card-glass{-webkit-backdrop-filter:blur(16px)saturate(180%);border-radius:var(--radius-lg);background:#ffffffb8;background:lab(100% 0 0/.72);border:1px solid #ffffff1f;border:1px solid lab(100% 0 0/.12)}[data-theme=dark] .card-glass{background:#ffffff0f;background:lab(100% 0 0/.06);border-color:#ffffff14;border-color:lab(100% 0 0/.08)}.btn{border-radius:var(--radius-md);letter-spacing:-.01em;transition:all var(--transition-fast);white-space:nowrap;-webkit-user-select:none;user-select:none;cursor:pointer;justify-content:center;align-items:center;gap:.5rem;min-height:44px;padding:.625rem 1.25rem;font-size:.875rem;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn:active{transform:scale(.96)}.btn-primary{background:var(--accent-gradient);color:var(--accent-fg);box-shadow:var(--shadow-sm),0 2px 8px #00a06633;border:none}@supports (color:lab(0% 0 0)){.btn-primary{box-shadow:var(--shadow-sm),0 2px 8px lab(58.1395% -57.7166 22.5538/.2)}}.btn-primary:hover{box-shadow:var(--shadow-md),0 4px 16px #00a0664d}@supports (color:lab(0% 0 0)){.btn-primary:hover{box-shadow:var(--shadow-md),0 4px 16px lab(58.1395% -57.7166 22.5538/.3)}}.btn-secondary{color:var(--text-primary);border:1.5px solid var(--border);background:0 0}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--border-strong)}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-danger{background:var(--error-subtle);color:var(--error);border:1.5px solid #0000}.btn-danger:hover{background:var(--error);color:#fff}.btn-success{background:var(--success-subtle);color:var(--success);border:1.5px solid #0000}.btn-success:hover{background:var(--success);color:#fff}.btn-warning{background:var(--warning-subtle);color:var(--warning);border:1.5px solid #0000}.btn-warning:hover{background:var(--warning);color:#fff}.btn-lg{border-radius:var(--radius-lg);letter-spacing:-.02em;min-height:52px;padding:.875rem 1.5rem;font-size:1rem;font-weight:700}.btn-full{width:100%}.input-base{border-radius:var(--radius-md);border:1.5px solid var(--border);background:var(--bg-surface);width:100%;color:var(--text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);appearance:none;padding:.75rem 1rem;font-size:.875rem}.input-base:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle);outline:none}.input-base::placeholder{color:var(--text-quaternary)}.badge{border-radius:var(--radius-full);white-space:nowrap;letter-spacing:.01em;align-items:center;gap:.25rem;padding:.1875rem .5rem;font-size:.6875rem;font-weight:600;display:inline-flex}.badge-未着手{color:var(--status-not-started);background:#7c81861a;background:lab(53.5907% -1.0736 -3.56036/.1)}.badge-配布中{color:var(--status-in-progress);background:#1a83db14;background:lab(52.7661% -3.82182 -53.6623/.08)}.badge-配布完了{color:var(--status-completed);background:#00a06614;background:lab(58.1395% -57.7166 22.5538/.08)}.badge-保留{color:var(--status-pending);background:#e2a0001a;background:lab(70.9465% 19.2186 87.3143/.1)}.badge-差し戻し{color:var(--status-returned);background:#df202e14;background:lab(49.0306% 69.7939 45.0284/.08)}.badge-投函禁止{color:var(--status-forbidden);background:#8451c914;background:lab(44.9264% 40.4628 -55.5955/.08)}.badge-スター{color:var(--status-star);background:#e2a0001a;background:lab(70.9465% 19.2186 87.3143/.1)}.xp-bar{background:var(--bg-hover);border-radius:var(--radius-full);height:6px;overflow:hidden}.xp-bar-fill{background:var(--xp-gradient);border-radius:var(--radius-full);height:100%;transition:width .8s var(--ease-out);position:relative}.xp-bar-fill:after{content:"";background:linear-gradient(90deg,#0000,#ffffff4d,#0000);background:linear-gradient(90deg,#0000,lab(100% 0 0/.3),#0000);animation:2s ease-in-out infinite xp-shimmer;position:absolute;inset:0}.level-badge{border-radius:var(--radius-full);background:var(--level-gradient);color:#fff;letter-spacing:.02em;justify-content:center;align-items:center;gap:4px;padding:4px 12px;font-size:11px;font-weight:800;display:inline-flex;box-shadow:0 2px 8px #615ed640;box-shadow:0 2px 8px lab(45.2841% 27.7799 -63.0038/.25)}.streak-badge{border-radius:var(--radius-full);background:var(--streak-gradient);color:#fff;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:800;display:inline-flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes bounceIn{0%{transform:scale(0)}50%{transform:scale(1.08)}70%{transform:scale(.97)}to{transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes xp-shimmer{0%{transform:translate(-100%)}to{transform:translate(200%)}}@keyframes glow-pulse{0%,to{box-shadow:0 0 8px #00a06626;box-shadow:0 0 8px lab(58.1395% -57.7166 22.5538/.15)}50%{box-shadow:0 0 20px #00a0664d;box-shadow:0 0 20px lab(58.1395% -57.7166 22.5538/.3)}}@keyframes confetti-fall{0%{opacity:1;transform:translateY(-10vh)rotate(0)}to{opacity:0;transform:translateY(100vh)rotate(720deg)}}@keyframes celebration-pop{0%{opacity:0;transform:scale(0)rotate(-180deg)}60%{opacity:1;transform:scale(1.1)rotate(5deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes gradient-shift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes milestone-glow{0%,to{box-shadow:0 0 #00a06600;box-shadow:0 0 lab(58.1395% -57.7166 22.5538/0)}50%{box-shadow:0 0 0 10px #00a0661f;box-shadow:0 0 0 10px lab(58.1395% -57.7166 22.5538/.12)}}.animate-fade-in{animation:fadeIn .25s var(--ease-out)forwards}.animate-fade-in-up{animation:fadeInUp .35s var(--ease-out)forwards}.animate-slide-up{animation:slideUp .3s var(--ease-out)forwards}.animate-bounce-in{animation:bounceIn .4s var(--ease-spring)forwards}.animate-pulse{animation:1.5s ease-in-out infinite pulse}.animate-float{animation:3s ease-in-out infinite float}.animate-glow{animation:2s ease-in-out infinite glow-pulse}.stagger-children>*{opacity:0;animation:fadeInUp .35s var(--ease-out)forwards}.stagger-children>:first-child{animation-delay:40ms}.stagger-children>:nth-child(2){animation-delay:80ms}.stagger-children>:nth-child(3){animation-delay:.12s}.stagger-children>:nth-child(4){animation-delay:.16s}.stagger-children>:nth-child(5){animation-delay:.2s}.stagger-children>:nth-child(6){animation-delay:.24s}.skeleton{background:linear-gradient(90deg,var(--bg-hover)25%,var(--border)50%,var(--bg-hover)75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s infinite shimmer}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.hide-scrollbar::-webkit-scrollbar{display:none}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.modal-backdrop{-webkit-backdrop-filter:blur(8px);z-index:200;animation:fadeIn .2s var(--ease-out);background:#01010180;background:lab(.309372% -.0338852 -.130227/.5);position:fixed;inset:0}.text-gradient{background:var(--accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.press-effect{transition:transform var(--transition-fast)}.press-effect:active{transform:scale(.96)}.progress-ring-circle{transition:stroke-dashoffset 1s var(--ease-out);transform-origin:50%;transform:rotate(-90deg)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}
