.cast-app{--ink:#14101c;--panel:#1d1727;--screen:#171221;--raise:#241d31;--line:#ffffff17;--line-2:#ffffff29;--tx:#f3eef7;--tx-2:#b2a9c0;--tx-3:#7c7389;--gold:#e8c07d;--gold-dim:#e8c07d24;--rose:#e58e8e;--rose-dim:#e58e8e24;--sage:#8fc9a8;--sage-dim:#8fc9a824;--event:#b8a1e6;--line-green:#06c755;--r:10px;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;background:var(--ink);min-height:100dvh;color:var(--tx);-webkit-font-smoothing:antialiased;font-family:Zen Kaku Gothic New,Hiragino Sans,Noto Sans JP,system-ui,sans-serif;font-size:15px;line-height:1.7}.cast-app :focus-visible:not(.portal-dark *){outline:2px solid var(--gold);outline-offset:2px}.cast-app *{box-sizing:border-box}.cast-screen{width:min(100%,430px);padding:16px 18px calc(32px + env(safe-area-inset-bottom));flex-direction:column;gap:0;margin-inline:auto;display:flex}.cast-screen.center{min-height:100dvh}.cast-app .st{letter-spacing:.02em;font-size:17px;font-weight:500}.cast-app .ss{color:var(--tx-2);margin-top:5px;font-size:12px;line-height:1.65}.cast-app .lbl{color:var(--tx-3);letter-spacing:.04em;margin:18px 0 7px;font-size:11px}.cast-app .hint{color:var(--tx-3);font-size:11px;line-height:1.6}.cast-app .dim{color:var(--tx-3)}.cast-app .center-txt{text-align:center}.cast-app .grow:not(.portal-dark *){flex:1}.cast-app .push{margin-top:auto}.cast-topbar{justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.cast-topbar .back{color:var(--tx-3);flex:none;font-size:15px;text-decoration:none}.cast-topbar .who{color:var(--tx-3);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:12px;overflow:hidden}.cast-app .card{background:var(--raise);border:1px solid var(--line);border-radius:14px;padding:14px}.cast-app .note{border-radius:var(--r);color:var(--tx-2);background:#ffffff09;padding:10px 12px;font-size:11px;line-height:1.65}.cast-app .alert{border-radius:var(--r);padding:9px 12px;font-size:12px;line-height:1.6}.cast-app .alert-error{background:var(--rose-dim);color:var(--rose)}.cast-app .alert-ok{background:var(--sage-dim);color:var(--sage)}.cast-app .cast-toast-region{z-index:50;top:calc(14px + env(safe-area-inset-top));pointer-events:none;justify-content:center;padding-inline:18px;display:flex;position:fixed;left:0;right:0}.cast-app .cast-toast{width:min(100%,394px);min-height:52px;color:var(--tx);pointer-events:auto;background:#242c2b;border:1px solid #8fc9a859;border-radius:12px;align-items:center;gap:10px;padding:10px 10px 10px 12px;font-size:13px;animation:4.5s both cast-toast-lifecycle;display:flex;box-shadow:0 12px 32px #00000061}.cast-app .cast-toast-icon{background:var(--sage-dim);width:25px;height:25px;color:var(--sage);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:inline-flex}.cast-app .cast-toast>span:nth-child(2){flex:1;font-weight:500}.cast-app .cast-toast button{width:32px;height:32px;color:var(--tx-2);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;font-size:20px;line-height:1}.cast-app .cast-toast button:hover{color:var(--tx);background:#ffffff0f}@keyframes cast-toast-lifecycle{0%{opacity:0;transform:translateY(-8px)}10%,86%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.cast-app .cast-toast{animation:none}}.cast-app .btn{border:1px solid var(--line-2);width:100%;color:var(--tx);border-radius:var(--r);font:inherit;cursor:pointer;text-align:center;background:0 0;padding:11px 0;font-size:13px;text-decoration:none;display:block}.cast-app .btn:hover:not(:disabled){background:#ffffff0d}.cast-app .btn:disabled{opacity:.45;cursor:default}.cast-app .btn-primary{background:var(--gold);border-color:var(--gold);color:#231a0b;font-weight:500}.cast-app .btn-primary:hover:not(:disabled){background:#f0cd92}.cast-app .btn-line{background:var(--line-green);color:#fff;border:none;border-radius:6px;align-items:center;height:44px;padding:0;font-size:14px;font-weight:500;display:flex}.cast-app .btn-line:before{content:"";background:url(/cast/line/line-logo.png) 50%/44px 44px no-repeat;flex:none;width:44px;height:44px;box-shadow:1px 0 #00000014}.cast-app .btn-line span{text-align:center;flex:1;min-width:0;padding:0 12px}.cast-app .btn-line:hover:not(:disabled){background:#05b34c}.cast-app .btn-line:active:not(:disabled){background:#048b3b}.cast-app .btn-danger{color:var(--rose);border-color:#e58e8e66}.cast-app .btn-danger:hover:not(:disabled){background:var(--rose-dim)}.cast-app .btn-row{gap:8px;display:flex}.cast-app .btn-row .btn{flex:1}.cast-app .link{text-align:center;width:100%;color:var(--gold);cursor:pointer;font-size:12px;font:inherit;background:0 0;border:0;margin:16px 0;text-decoration:none;display:block}.cast-app .pill{letter-spacing:.04em;white-space:nowrap;border-radius:20px;padding:3px 9px;font-size:10px;display:inline-block}.cast-app .p-gold{background:var(--gold-dim);color:var(--gold)}.cast-app .p-sage{background:var(--sage-dim);color:var(--sage)}.cast-app .p-rose{background:var(--rose-dim);color:var(--rose)}.cast-app .p-mute{background:var(--line);color:var(--tx-2)}.cast-app .chev{color:var(--tx-3);flex:none;font-size:12px}.cast-app .field{border:1px solid var(--line);border-radius:var(--r);width:100%;font:inherit;color:var(--tx);background:#ffffff08;justify-content:space-between;align-items:center;gap:8px;padding:11px 12px;font-size:14px;display:flex}.cast-app select.field,.cast-app input.field{appearance:none;display:block}.cast-app select.field{background-image:linear-gradient(45deg, transparent 50%, var(--tx-3) 50%), linear-gradient(135deg, var(--tx-3) 50%, transparent 50%);background-position:calc(100% - 16px) calc(50% + 1px),calc(100% - 11px) calc(50% + 1px);background-repeat:no-repeat;background-size:5px 5px;padding-right:30px}.cast-app select.field option{background:var(--panel);color:var(--tx)}.cast-app .field::placeholder{color:var(--tx-3)}.cast-app .field:disabled{opacity:.5}.cast-app .codebox{gap:7px;display:flex}.cast-app .codebox input{border:1px solid var(--line);border-radius:var(--r);text-align:center;min-width:0;height:52px;font-family:var(--mono);color:var(--tx);background:#ffffff08;flex:1;font-size:19px}.cast-app .codebox input:focus{border-color:var(--gold);outline:none}.cast-app .seg{border:1px solid var(--line);border-radius:var(--r);flex:none;display:inline-flex;overflow:hidden}.cast-app .seg button{font:inherit;color:var(--tx-3);cursor:pointer;background:0 0;border:0;padding:5px 12px;font-size:11px}.cast-app .seg button.on{background:var(--gold-dim);color:var(--gold)}.cast-app .seg button.off{color:var(--tx-2);background:#ffffff0d}.cast-app .rows>div{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:12px 0;font-size:13px;display:flex}.cast-app .rows>div:last-child{border-bottom:0}.cast-app .rows .val{text-align:right;color:var(--tx-2);margin-left:auto;font-size:12px}.cast-app .rows a,.cast-app .rows button.row-action{width:100%;font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:0;font-size:13px;text-decoration:none;display:flex}.cast-app .tgl{cursor:pointer;background:#ffffff24;border:0;border-radius:20px;flex:none;width:34px;height:19px;margin-left:auto;padding:0;position:relative}.cast-app .tgl.on{background:var(--gold)}.cast-app .tgl i{background:#fff;border-radius:50%;width:15px;height:15px;transition:left .15s;position:absolute;top:2px;left:2px}.cast-app .tgl.on i{background:#231a0b;left:17px}.cast-app .day{background:var(--raise);border:1px solid var(--line);border-radius:14px;margin-bottom:9px;padding:12px}.cast-app .day.rest{padding:10px 12px}.cast-app .day.invalid{border-color:#e58e8e80}.cast-app .day-hd{justify-content:space-between;align-items:center;gap:8px;margin-bottom:11px;display:flex}.cast-app .day.rest .day-hd{margin-bottom:0}.cast-app .dname{font-size:14px;font-weight:500}.cast-app .dname small{color:var(--tx-3);margin-left:7px;font-size:11px;font-weight:400}.cast-app .chips{grid-template-columns:1fr 1fr;gap:6px;margin-bottom:9px;display:grid}.cast-app .chips3{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.cast-app .chip{border:1px solid var(--line);border-radius:var(--r);text-align:center;font:inherit;color:var(--tx-2);cursor:pointer;background:#ffffff08;padding:7px 0;font-size:12px}.cast-app .chip.on{border-color:var(--gold);background:var(--gold-dim);color:var(--gold)}.cast-app .times{align-items:center;gap:7px;margin-bottom:9px;display:flex}.cast-app .times .field{flex:1;min-width:0;padding:8px 10px;font-size:13px}.cast-app .times em{color:var(--tx-3);font-size:13px;font-style:normal}.cast-app .memo{border:1px solid var(--line);border-radius:var(--r);width:100%;font:inherit;color:var(--tx);resize:vertical;background:#ffffff08;padding:8px 10px;font-size:12px;line-height:1.55}.cast-app .memo::placeholder{color:var(--tx-3)}.cast-app .day-error{color:var(--rose);margin-top:6px;font-size:11px;line-height:1.5}.cast-app .cal{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.cast-app .cal .hd{text-align:center;color:var(--tx-3);padding-bottom:5px;font-size:10px}.cast-app .cal .hd.sun{color:var(--rose)}.cast-app .cal .hd.sat{color:var(--gold)}.cast-app .cal .c{border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:1px;height:48px;display:flex}.cast-app .cal .c b{color:var(--tx-3);font-size:13px;font-weight:400}.cast-app .cal .c.on{background:var(--gold-dim)}.cast-app .cal .c.on b{color:var(--gold)}.cast-app .cal .c em{color:var(--gold);font-size:10px;font-style:normal}.cast-app .cal .c .event-dots{justify-content:center;align-items:center;gap:3px;height:5px;display:flex}.cast-app .cal .c .event-dots i,.cast-app .legend .event-legend i{background:var(--event);border-radius:50%;width:5px;height:5px;display:inline-block}.cast-app .cal .c.has-event:not(.on) b{color:var(--tx-2)}.cast-app .cal .c.today{box-shadow:inset 0 0 0 1px var(--gold)}.cast-app .cal .c.absent b,.cast-app .cal .c.absent em{color:var(--rose);text-decoration:line-through}.cast-app .legend{color:var(--tx-3);flex-wrap:wrap;gap:9px;margin-top:11px;font-size:10px;display:flex}.cast-app .legend .event-legend{color:var(--event);align-items:center;gap:4px;display:inline-flex}.cast-app .event-card{margin-top:11px}.cast-app .event-card-heading{justify-content:space-between;align-items:center;gap:8px;margin-bottom:2px;display:flex}.cast-app .event-card-heading .lbl{margin:0}.cast-app .event-card-heading>span{color:var(--event);font-size:10px}.cast-app .event-empty{color:var(--tx-3);margin-top:8px;font-size:12px}.cast-app .event-list article{border-bottom:1px solid var(--line);padding:11px 0}.cast-app .event-list article:last-child{border-bottom:0;padding-bottom:0}.cast-app .event-list time{color:var(--event);margin-bottom:2px;font-size:10px;display:block}.cast-app .event-list b{font-size:13px;font-weight:500;display:block}.cast-app .event-list p{color:var(--tx-2);white-space:pre-wrap;margin-top:3px;font-size:11px;line-height:1.6}.cast-app .stats{grid-template-columns:1fr 1fr;gap:8px;margin:11px 0;display:grid}.cast-app .stat{background:var(--raise);border-radius:var(--r);text-align:center;padding:11px}.cast-app .stat b{font-size:22px;font-weight:500;font-family:var(--mono);display:block}.cast-app .stat span{color:var(--tx-3);font-size:10px}.cast-app .diff{border-bottom:1px solid var(--line);padding:10px 0;font-size:12px}.cast-app .diff:last-child{border-bottom:0}.cast-app .diff b{margin-bottom:3px;font-weight:500;display:block}.cast-app .diff span{color:var(--tx-3)}.cast-app .diff span u{color:var(--tx);text-decoration:none}.cast-app .step{border-bottom:1px solid var(--line);align-items:center;gap:11px;padding:13px 0;display:flex}.cast-app .step:last-child{border-bottom:0}.cast-app .dot{border:1px solid var(--line-2);border-radius:50%;flex:none;width:19px;height:19px}.cast-app .dot.done{border-color:var(--sage);background:var(--sage-dim);position:relative}.cast-app .dot.done:after{content:"";border:solid var(--sage);border-width:0 1.5px 1.5px 0;width:4px;height:8px;position:absolute;top:3px;left:6px;transform:rotate(42deg)}.cast-app .step b{font-size:13px;font-weight:400;display:block}.cast-app .step small{color:var(--tx-3);font-size:11px}.cast-app .hero-time{font-size:24px;font-weight:500;font-family:var(--mono);letter-spacing:.01em}.cast-app .big-icon{background:var(--gold-dim);width:54px;height:54px;color:var(--gold);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 15px;font-size:22px;display:flex}
