.timing-preview{margin:0 var(--sp-4) var(--sp-8);color:#efe5f0}.timing-example-label{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--sp-2);padding:var(--sp-3) 0 var(--sp-2);font-size:var(--fs-2xs);color:#b6a5b8}.timing-example-label b{color:#e0bdd4;font-weight:var(--fw-regular)}.timing-inputs{margin-bottom:var(--sp-5);color:#aa9cae;font-size:var(--fs-2xs);line-height:var(--lh-read)}.timing-inputs summary{cursor:pointer}.timing-inputs p{margin:var(--sp-2) 0}.person-0{color:#edb7d3}.person-1{color:#acd7ec}.year-panel,.decade-panel{padding:var(--sp-6) var(--sp-5) var(--sp-6);border:1px solid #9eb7c940;border-radius:var(--r-lg);background:radial-gradient(ellipse at 100% 55%,#34466040,transparent 65%),#171b26;overflow:hidden}.year-panel header small,.decade-panel header small{font-size:var(--fs-2xs);letter-spacing:.1em;color:#b2cddd}.year-panel h2,.decade-panel h2{margin:var(--sp-3) 0 var(--sp-3);font-weight:var(--fw-regular);font-size:var(--fs-3xl);line-height:var(--lh-snug);color:#f1e9f4;word-break:keep-all}.year-panel h2 em,.decade-panel h2 em{font-style:normal;color:#b6cde5}.year-panel header p,.decade-panel header p{font-size:var(--fs-xs);line-height:var(--lh-read);color:#b6b4c6;margin:0;word-break:keep-all}.timing-lock{display:flex;align-items:center;gap:var(--sp-2);width:100%;min-height:48px;margin-top:var(--sp-5);padding:var(--sp-3) var(--sp-4);border:1px solid #d7b8cf55;border-radius:var(--r-md);background:#ffffff08;color:#f0d6e6;font:var(--fs-sm) inherit;font-family:inherit;text-align:left;cursor:pointer}.timing-lock>span:nth-child(2){flex:1;word-break:keep-all}.timing-lock .question-arrow{color:#e9bfd8}.month-panel .timing-lock{border-color:#b18ba7aa;background:#fff8;color:#6b4762}.pair-people{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-2);margin:var(--sp-4) 0 var(--sp-4)}.pair-people>div{padding:var(--sp-3) var(--sp-2);border-radius:var(--r-md)}.pair-people span{font-size:var(--fs-2xs);display:block;margin-bottom:var(--sp-1)}.pair-people b{font-size:var(--fs-md);font-weight:var(--fw-regular);letter-spacing:1px}.year-key{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin:var(--sp-6) 0 var(--sp-3);font-size:var(--fs-2xs);color:#a1a9bb}.year-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--sp-1)}.year-cell{position:relative;min-width:0;height:104px;padding:var(--sp-2) 2px var(--sp-6);border:1px solid #aec5df30;border-radius:var(--r-md);background:#ffffff05;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:var(--sp-1);color:#c9c4d6;cursor:pointer;font-family:inherit;box-shadow:none}.year-mark{position:absolute;top:5px;font-size:var(--fs-xs);line-height:1;color:#f4d58a}.year-cell.kind-caution .year-mark{color:#9fb1c4}.year-bars{display:flex;align-items:flex-end;gap:3px;height:46px}.year-bars i{width:9px;height:calc(var(--n) * 9px + 3px);border-radius:3px 3px 1px 1px;background:currentColor;opacity:.9}.year-bars .person-0{color:#e79fc6}.year-bars .person-1{color:#8fcbe6}.year-label{position:absolute;bottom:8px;font-size:var(--fs-2xs)}.year-cell em{position:absolute;bottom:-1px;font-size:var(--fs-2xs);font-style:normal;color:#8f96ab;transform:translateY(100%)}.year-cell.kind-together{border-color:#f0cf7a80;background:#f0cf7a12}.year-cell.kind-caution{border-color:#7d8fa680;background:#3a445414}.year-cell[aria-pressed=true]{border-color:#e6d2ea;box-shadow:0 0 0 2px #e6d2ea44}.year-cell:focus-visible{outline:2px solid #e6d2ea;outline-offset:3px}.year-detail{margin-top:var(--sp-6);border:1px solid #aec5df30;background:#ffffff06;border-radius:var(--r-lg);padding:var(--sp-4) var(--sp-3);min-height:200px}.year-detail>header{display:flex;justify-content:space-between;gap:var(--sp-2);align-items:center;font-size:var(--fs-xs)}.year-detail>header span{color:#a9b3c6}.year-detail>header b{font-weight:var(--fw-regular);color:#f4d58a}.year-detail[data-kind=caution]>header b,.year-detail[data-kind=plain]>header b{color:#c3cbd9}.year-detail .pair-people>div{background:#ffffff08}.year-detail>p{font-size:var(--fs-sm);line-height:var(--lh-read);margin:0;word-break:keep-all;color:#e8e2ef}.year-detail details,.month-detail details{margin-top:var(--sp-4);padding-top:var(--sp-3);border-top:1px solid #bda9bc44;font-size:var(--fs-2xs);line-height:var(--lh-read)}.year-detail details{color:#aeb6c8}.year-detail summary,.month-detail summary{cursor:pointer}.year-detail details p,.month-detail details p{margin:var(--sp-2) 0 0}.year-verdict{margin:var(--sp-5) 0 0;font-size:var(--fs-xs);line-height:var(--lh-read);color:#c9c3d8;word-break:keep-all}.year-verdict b{color:#f4d58a;font-weight:var(--fw-regular)}.month-panel{margin-top:var(--sp-5);padding:var(--sp-6) var(--sp-5) var(--sp-6);border:1px solid #d2c4d0;border-radius:var(--r-lg);background:radial-gradient(ellipse at 100% 0,#eccde677,transparent 65%),#eeeaf0;color:#3f3347}.month-panel header small{color:#937888;font-size:var(--fs-2xs);letter-spacing:.1em}.month-panel h2{font-family:Serif,Noto,serif;font-size:var(--fs-3xl);font-weight:var(--fw-semibold);line-height:var(--lh-snug);margin:var(--sp-3) 0;word-break:keep-all}.month-panel h2 em{font-style:normal;color:#a24f7f}.month-panel header p{font-size:var(--fs-xs);line-height:var(--lh-read);color:#786879;margin:0;word-break:keep-all}.month-key{display:flex;gap:var(--sp-4);font-size:var(--fs-2xs);margin:var(--sp-6) 0 var(--sp-3)}.month-key .person-0{color:#b8497f}.month-key .person-1{color:#2f7ba3}.month-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-2)}.month-cell{position:relative;min-width:0;min-height:78px;padding:var(--sp-3) 2px var(--sp-4);border:1px solid #c6b8c970;border-radius:var(--r-md);background:#fff5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-1);color:#806f85;cursor:pointer;font-family:inherit;box-shadow:none}.month-cell>span{font-size:var(--fs-xs)}.month-cell>b{display:flex;gap:3px;font-size:var(--fs-xl);line-height:var(--lh-tight);font-weight:var(--fw-regular);min-height:22px;align-items:center}.month-cell>b .person-0{color:#d3568f}.month-cell>b .person-1{color:#3d8fbd}.month-cell>b .none{color:#b9a9bb;font-style:normal}.month-cell.kind-both{background:#e3bcd066;border-color:#bc7c9b80}.month-cell.kind-me{border-color:#d3568f66}.month-cell.kind-you{border-color:#3d8fbd66}.month-cell[aria-pressed=true]{border-color:#745674;box-shadow:0 0 0 2px #74567455}.month-cell .month-year{position:absolute;top:2px;left:5px;font-size:var(--fs-2xs);font-style:normal;color:#9a8699}.month-cell .month-now{position:absolute;bottom:2px;font-size:var(--fs-2xs);font-style:normal;color:#776278}.month-cell:focus-visible{outline:2px solid #745674;outline-offset:3px}.month-detail{margin-top:var(--sp-4);border:1px solid #baa5b970;background:#fffc;border-radius:var(--r-lg);padding:var(--sp-4) var(--sp-3);min-height:210px}.month-detail>header{display:flex;justify-content:space-between;gap:var(--sp-2);align-items:center;font-size:var(--fs-xs)}.month-detail>header span{color:#8e7789}.month-detail>header b{font-weight:var(--fw-regular);color:#845873}.month-detail .pair-people>div{background:#efdfeb66;color:#98647f}.month-detail .pair-people>div.person-1{background:#dce9f166;color:#527891}.month-detail>p{font-size:var(--fs-sm);line-height:var(--lh-read);margin:0;word-break:keep-all}.month-detail details{color:#806b80}.month-note{margin:var(--sp-4) 0 0;font-size:var(--fs-2xs);line-height:var(--lh-read);color:#877185;word-break:keep-all}.decade-panel{margin-top:var(--sp-5)}.decade-cards{display:grid;gap:var(--sp-3);margin-top:var(--sp-6)}.decade-card{padding:var(--sp-4) var(--sp-4) var(--sp-1);border:1px solid #aec5df25;border-radius:var(--r-lg);background:#ffffff04}.decade-card>b{display:block;margin-bottom:var(--sp-1);font-size:var(--fs-sm);font-weight:var(--fw-regular)}.decade-row{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:var(--sp-2);align-items:center;padding:var(--sp-2) 0;border-top:1px solid #b8b0c52d;font-size:var(--fs-2xs);color:#c9c4d6}.decade-row>span:first-child{color:#a1a9bb}.decade-row.is-next>span:first-child{color:#f1e9f4}.decade-row>b{font-weight:var(--fw-regular);letter-spacing:1px;font-size:var(--fs-sm);color:inherit}.decade-card.person-0 .decade-row>b{color:#edb7d3}.decade-card.person-1 .decade-row>b{color:#acd7ec}.timing-caption{margin:var(--sp-5) 0 0;color:#b3afc5;line-height:var(--lh-read);font-size:var(--fs-2xs);word-break:keep-all}.timing-empty{padding:var(--sp-6) var(--sp-5);border:1px solid #bea0b54a;border-radius:var(--r-lg);background:linear-gradient(135deg,#231a2b,#192330)}.timing-empty>small{font-size:var(--fs-2xs);color:#b2cddd}.timing-empty h2{font-size:var(--fs-2xl);line-height:var(--lh-snug);font-weight:var(--fw-regular)}.timing-empty p{color:#bdafc5;font-size:var(--fs-xs);line-height:var(--lh-read)}.timing-empty .timing-pending{font-size:var(--fs-2xs);color:#ac98af}.timing-empty a{display:flex;justify-content:space-between;gap:var(--sp-2);margin-top:var(--sp-5);padding-top:var(--sp-4);border-top:1px solid #bba0b133;color:#edc0da;font-size:var(--fs-sm);text-decoration:none;min-height:44px;align-items:center}.year-bars i.is-shake{box-shadow:0 0 0 1.5px #f4d58a;position:relative}.year-bars i.is-shake::after{content:"";position:absolute;top:-14px;left:50%;width:12px;height:12px;transform:translateX(-50%);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M2 11l3-5 3.5 8 3.5-8 3.5 8L18 9' fill='none' stroke='%23f4d58a' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}.year-detail .pair-people small{display:block;margin-top:var(--sp-1);font-size:var(--fs-2xs);color:#f4d58a}.decade-row small{display:block;margin-top:var(--sp-1);font-size:var(--fs-2xs);color:#f4d58a}.timing-loading .timing-pending{color:#c9b9cf}.timing-loading .timing-pending::after{content:"…";animation:timing-dots 1.2s steps(3,end) infinite}@keyframes timing-dots{0%{opacity:0}100%{opacity:1}}.luck-gauge{--g:#e79fc6;display:inline-flex;align-items:center;gap:var(--sp-2);white-space:nowrap}.luck-gauge.person-1{--g:#8fcbe6}.luck-gauge .lg-bar{display:inline-flex;gap:3px}.luck-gauge .lg-bar i{width:11px;height:9px;border-radius:var(--r-sm);background:#ffffff1f}.luck-gauge .lg-bar i.on{background:var(--g);box-shadow:0 0 6px color-mix(in srgb,var(--g) 60%,transparent)}.luck-gauge em{font-style:normal;font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:0;padding:2px var(--sp-2);border-radius:var(--r-pill);background:#ffffff12;color:#e8e2ef}.luck-gauge.lv-4 em,.luck-gauge.lv-5 em{background:#f4d58a26;color:#f4d58a}.luck-gauge.lv-0 em,.luck-gauge.lv-1 em,.luck-gauge.lv-2 em{background:#f0a19022;color:#f0a190}.year-key{gap:var(--sp-1) var(--sp-2);font-size:var(--fs-2xs);color:#d7dbe6}.year-key .k{display:inline-flex;align-items:center;gap:var(--sp-1);padding:var(--sp-1) var(--sp-2);border-radius:var(--r-pill);background:#ffffff0d;border:1px solid #ffffff14}.year-key .sw{width:10px;height:10px;border-radius:var(--r-sm);display:inline-block}.year-key .k-p0 .sw{background:#e79fc6}.year-key .k-p1 .sw{background:#8fcbe6}.year-key .mk{font-style:normal;font-weight:var(--fw-bold);color:#f4d58a}.year-key .k-down .mk{color:#f0a190}.year-key .k-shake .mk{color:#f4d58a}.year-key .ybars{display:inline-flex;align-items:flex-end;gap:2px;height:12px}.year-key .ybars b{width:3px;background:#c9c4d6;border-radius:var(--r-sm)}.year-key .ybars b:nth-child(1){height:4px}.year-key .ybars b:nth-child(2){height:8px}.year-key .ybars b:nth-child(3){height:12px}.year-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-2);margin:var(--sp-4) 0 0}.year-stats .st{display:grid;justify-items:center;gap:3px;padding:var(--sp-3) var(--sp-1);border-radius:var(--r-lg);background:#ffffff08;border:1px solid #ffffff14;text-align:center}.year-stats .st b{font-size:var(--fs-2xl);font-weight:var(--fw-bold);line-height:1;color:#f4d58a}.year-stats .st b small{font-size:var(--fs-xs);font-weight:var(--fw-semibold);margin-left:1px;color:#c9c4d6}.year-stats .st.down b{color:#f0a190}.year-stats .st.cross b{color:#e8e2ef}.year-stats .st.cross.warn b{color:#f0a190}.year-stats .st span{font-size:var(--fs-2xs);font-weight:var(--fw-bold);color:#e8e2ef}.year-stats .st em{font-style:normal;font-size:var(--fs-2xs);color:#a9b3c6;word-break:keep-all}.shake-chips{display:flex;flex-wrap:wrap;gap:var(--sp-1);margin:var(--sp-2) 0 0}.shake-chips span{display:inline-flex;align-items:center;gap:var(--sp-1);padding:var(--sp-1) var(--sp-2);border-radius:var(--r-pill);font-size:var(--fs-2xs);background:#f4d58a14;border:1px solid #f4d58a44;color:#f1e9f4}.shake-chips i{font-style:normal;color:#f4d58a}.decade-row{grid-template-columns:64px minmax(0,1fr) auto}.gauge-hint{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-2);margin:var(--sp-4) 0 0;font-size:var(--fs-2xs);color:#c9c4d6;word-break:keep-all}.love-chip{display:inline-block;padding:var(--sp-1) var(--sp-2);border-radius:var(--r-pill);font-size:var(--fs-xs)!important;font-weight:var(--fw-bold)!important;letter-spacing:0!important;background:#ffffff99;color:#8a7a86}.love-chip.on{background:#e0487a;color:#fff}.month-detail .person-1 .love-chip.on{background:#2a9ea2}.year-key .mk{display:inline-flex;width:15px;height:15px}.year-key .mk svg,.year-mark svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.year-mark{display:flex;width:15px;height:15px;left:50%;transform:translateX(-50%)}.shake-chips .mk,.decade-row small .mk,.pair-people small .mk{display:inline-flex;width:12px;height:12px;margin-right:3px;vertical-align:-2px}.shake-chips .mk svg,.decade-row small .mk svg,.pair-people small .mk svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
