:root{--bg-color:#fcfcfc;--surface-color:#fff;--primary-color:#2c2c2c;--secondary-color:#737373;--accent-color:#d4af37;--accent-hover:#c5a028;--border-color:#e5e5e5;--good-bg:#fdfaf1;--warning-bg:#fff5f5;--font-heading:"Shippori Mincho", serif;--font-text:"Inter", sans-serif;--shadow-sm:0 2px 8px #0000000a;--shadow-md:0 8px 24px #0000000f}body{font-family:var(--font-text);color:var(--primary-color);background-color:var(--bg-color);-webkit-font-smoothing:antialiased;justify-content:center;min-height:100vh;margin:0;padding:0;display:flex}.mobile-container{background:var(--surface-color);width:100%;max-width:500px;min-height:100vh;box-shadow:var(--shadow-md);box-sizing:border-box;padding:30px 20px;position:relative}.mt-2{margin-top:10px}.mt-4{margin-top:20px}.app-header{text-align:center;border-bottom:1px solid var(--border-color);margin-bottom:35px;padding-bottom:20px}.app-header h1{font-family:var(--font-heading);color:var(--primary-color);letter-spacing:.05em;margin:0 0 8px;font-size:2rem;font-weight:600}.app-header p{color:var(--secondary-color);letter-spacing:.1em;margin:0;font-size:.85rem}.form-section{margin-bottom:30px}.form-section h2{font-family:var(--font-heading);color:var(--primary-color);align-items:center;margin:0 0 20px;font-size:1.25rem;font-weight:500;display:flex}.section-icon{margin-right:8px;font-size:1.1rem}.input-group{margin-bottom:20px}.input-group label{color:var(--secondary-color);margin-bottom:8px;font-size:.8rem;font-weight:500;display:block}input[type=text],input[type=number],select,textarea{border:1px solid var(--border-color);width:100%;font-family:var(--font-text);box-sizing:border-box;background:var(--bg-color);color:var(--primary-color);border-radius:10px;padding:14px 16px;font-size:1rem;transition:all .2s}input:focus,select:focus,textarea:focus{border-color:var(--accent-color);background:var(--surface-color);outline:none;box-shadow:0 0 0 3px #d4af371a}input::placeholder,textarea::placeholder{color:#bbb}.btn-selector{gap:10px;display:flex}.btn-selector.grid-5{flex-wrap:wrap}.btn-selector label{flex:1;min-width:45px;margin:0}.btn-selector input[type=radio]{display:none}.btn-selector span{text-align:center;border:1px solid var(--border-color);cursor:pointer;background:var(--surface-color);color:var(--secondary-color);border-radius:10px;padding:12px 0;font-size:.95rem;font-weight:500;transition:all .2s;display:block}.btn-selector input[type=radio]:checked+span{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.mbti-selector{gap:10px;display:flex}.mbti-pair{flex-direction:column;flex:1;gap:8px;display:flex}.mbti-pair label{margin:0}.mbti-pair input[type=radio]{display:none}.mbti-pair span{text-align:center;border:1px solid var(--border-color);cursor:pointer;background:var(--surface-color);color:var(--secondary-color);border-radius:10px;padding:14px 0;font-size:1.1rem;font-weight:600;transition:all .2s;display:block}.mbti-pair input[type=radio]:checked+span{background:var(--primary-color);color:var(--accent-color);border-color:var(--primary-color)}.unknown-btn{background:var(--bg-color);width:100%;color:var(--secondary-color);border:1px solid var(--border-color);cursor:pointer;border-radius:10px;padding:10px;font-size:.85rem;transition:all .2s}.unknown-btn:active{background:#eee}.date-inputs,.time-inputs{align-items:center;gap:8px;display:flex}.date-inputs input,.time-inputs input{text-align:center;padding:14px 8px}.unit{color:var(--secondary-color);flex-shrink:0;font-size:.9rem}.time-inputs input[disabled]{color:#ccc;background:#f5f5f5;border-color:#eee}.checkbox-label{cursor:pointer;align-items:center;display:flex;margin:0!important}.checkbox-label input[type=checkbox]{width:auto;accent-color:var(--accent-color);margin-right:8px}.checkbox-text{color:var(--secondary-color);font-size:.85rem}.submit-btn{background:var(--primary-color);color:#fff;width:100%;font-size:1.1rem;font-weight:600;font-family:var(--font-heading);letter-spacing:.1em;cursor:pointer;box-shadow:var(--shadow-sm);border:none;border-radius:12px;padding:18px;transition:all .3s}.submit-btn:hover{background:#1a1a1a;transform:translateY(-1px)}.submit-btn.outline{color:var(--primary-color);border:1px solid var(--primary-color);box-shadow:none;background:0 0}#loading{text-align:center;padding:60px 0}.spinner{border:2px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;width:30px;height:30px;margin:0 auto 20px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.result-title{text-align:center;font-family:var(--font-heading);margin-bottom:30px;font-size:1.6rem}details{background:var(--surface-color);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);border-radius:12px;margin-bottom:15px;padding:16px 20px;transition:all .3s}details[open]{border-color:var(--accent-color)}summary{color:var(--primary-color);cursor:pointer;align-items:center;font-size:1rem;font-weight:600;list-style:none;display:flex}summary::-webkit-details-marker{display:none}summary:after{content:"+";color:var(--secondary-color);margin-left:auto;font-size:1.2rem;font-weight:300}details[open] summary:after{content:"−"}.result-box p,.result-box li{color:#444;font-size:.95rem;line-height:1.8}.good-point{color:#b58900;background:var(--good-bg);border-radius:4px;padding:0 4px;font-weight:600}.warning-point{color:#cb4b16;background:var(--warning-bg);border-radius:4px;padding:0 4px;font-weight:600}.action-buttons{gap:10px;margin-top:30px;display:flex}.action-btn{cursor:pointer;background:var(--surface-color);color:var(--primary-color);border:1px solid var(--border-color);border-radius:8px;flex:1;padding:12px 0;font-size:.9rem;font-weight:500}.action-btn:active{background:var(--bg-color)}.share-section{text-align:center;border-top:1px solid var(--border-color);margin-top:30px;padding-top:20px}.share-section p{color:var(--secondary-color);margin-bottom:15px;font-size:.85rem}.share-buttons{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.share-btn{cursor:pointer;color:#fff;border:none;border-radius:20px;padding:10px 15px;font-size:.85rem;font-weight:500}.share-btn.native{background:var(--primary-color)}.share-btn.line{background:#06c755}.share-btn.x{background:#000}.share-btn.fb{background:#1877f2}
